随笔分类 - ASP.NET Core
摘要:本章将描述 Blazor 为处理 HTML 表单提供的特性,包括对数据验证的支持。 1 准备工作 继续使用上一章项目。 创建 Blazor/Forms 文件夹并添加一个名为 EmptyLayout.razor 的 Razor 组件。本章使用这个组件作为主要的布局。 @inherits LayoutC
阅读全文
摘要:本章解释 Blazor 如何支持 URL 路由,以便通过一个请求显示多个组件。展示如何设置路由系统、如何定义路由以及如何在布局中创建公共内容。 本章还介绍了组件的生命周期,它允许组件积极地参与 Blazor 环境,这在开始使用 URL 路由特性时尤为重要。最后,本章解释了组件在前面章节描述的父!子关
阅读全文
摘要:1 准备工作 继续使用上一章项目。 本章展示如何组合Razor组件来创建更复杂的特性。展示如何创建组件之间的父子关系,如何利用属性配置组件,以及如何创建自定义事件,以在发生重要更改时发出信号。还展示了组件如何从父组件接收内容,以及如何使用模板组件一致地生成内容,模板组件可以用一个或多个泛型类型参数定
阅读全文
摘要:Blazor 是 ASP.NET Core 新添加的一个功能,它向 Web 应用程序添加客户端交互性。Blazor 有两个变种,本章将重点介绍 Blazor Server,另一种是 Blazor WebAssembly。解释它解决的问题和它是如何工作的。展示如何配置 ASP.NET Core应用程序
阅读全文
摘要:本章将创建贯穿这一部分的示例项目。 1 创建项目 dotnet new globaljson --sdk-version 3.1.101 --output MyAdvanced dotnet new web --no-https --output MyAdvanced --framework net
阅读全文
摘要:前几章集中讨论了处理 HTML 表单一个方面的单个特性,有时很难看到它们如何组合在一起执行常见的任务。本章将介绍创建控制器、视图和 Razor Pages 的过程,这些页面支持具有创建,读取、更新和删除(CRUD)功能的应用程序。本章不介绍新的功能,目标是演示如何将标签助手模型绑定和模型验证等功能与
阅读全文
摘要:过滤器将额外的逻辑注入请求处理。过滤器类似于应用于单个端点的中间件,可以是操作或页面处理程序方法,它们提供了一种管理特定请求集的优雅方法。 本章描述 ASP.NET Core 过滤器特性,并解释如何使用它来更改特定端点的请求和结果,描述不同类型的过滤器,演示了如何创建和应用每种过滤器。还展示了如何管
阅读全文
摘要:模型验证是确保请求中提供的数据是有效的。 本章描述 ASP.NET Core 数据验证功能。解释了如何显式地执行验证,如何使用属性来播述验证约束,以及如何验证单个属性和整个对象。演示了如何向用户显示验证消息,以及如何通过客户端和远程验证改进用户的验证体验。 1 准备工作 继续使用上一章项目。 修改
阅读全文
摘要:模型绑定是使用从 HTTP 请求获得的数据值,创建操作方法和页面处理程序所需的对象的过程。本章描述模型绑定系统的工作方式;显示它如何绑定简单类型、复杂类型和集合;并演示如何控制流程,以指定请求的哪一部分提供应用程序所需的数据值。 本章介绍了模型绑定特性,展示了如何使用带有参数和属性的模型绑定,如何绑
阅读全文
摘要:本章描述用于创建 HTML 表单的内置标签助手。这些标签助手确保表单提交到正确的操作或页面处理程序方法,并确保元素准确地表示特定的模型属性。 本章解释 ASP.NET Core 提供的创建 HTML 表单的功能。展示如何使用标签助手来选择表单目标和关联的 imput、textarea 和 selec
阅读全文
摘要:ASP.NET Core 提供了一组内置的标签助手,可以应用最常用的元素转换。使用了内置的标签助手,就不必像前一章一样自己创建自定义标签助手。 本章描述了基本的内置标签助手,并解释了它们是如何用于转换锚、链接、脚本和图像元素的。还解释了如何缓存内容部分以及如何根据应用程序的环境呈现内容。 1 准备工
阅读全文
摘要:1 准备工作 继续使用上一章项目代码,修改Startup.cs。 public void ConfigureServices(IServiceCollection services) { services.AddDbContext<DataContext>(opts => { opts.UseSql
阅读全文
摘要:视图组件是类,为支持分部视图或者在父视图中注入少量Html或Json数据提供了应用程序逻辑。 1 准备工作 Models文件夹中添加City.cs类和CitiesData类,为CitiesData添加服务。 public class City { public string Name { get;
阅读全文
摘要:Razor Pages是生成Html响应的一种简化方式。它的简单性,意味着能够比MVC框架更快获得结果。它将单个视图与一个类关联起来,由该类为视图提供功能,并使用基于文件的路由系统来匹配URL。它的灵活性不如MVC,所以不适合复杂的应用程序。 1 准备工作 2 理解Razor Pages Razor
阅读全文
摘要:1 准备工作 在Startup中启用会话配置。 services.AddDistributedMemoryCache(); services.AddSession(options => { options.Cookie.IsEssential = true; }); app.UseSession()
阅读全文
摘要:1 准备工作 添加包:dotnet add package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation --version 3.1.1 2 开始使用视图 2.1 配置应用程序 HTML响应是使用视图创建的,视图则是混合了HTML元素和C#表达式
阅读全文
摘要:1 准备工作 添加SuppliersController控制器。 [ApiController] [Route("api/[controller]")] public class SuppliersController:ControllerBase { private DataContext _co
阅读全文
摘要:1 准备工作 2 理解RESTful Web服务 Web服务最常见的方法是采用具象状态传输(Representational State Transfer,REST)模式。 REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或者设计就是RESTful,核心就是面向资源,REST专
阅读全文
摘要:1 创建项目 创建一个MyWebApp的空项目。也可以用一下命令行创建。 dotnet new globaljson --sdk-version 3.1 --output MyWebApp 已成功创建模板“global.json file”。 dotnet new web --no-https --
阅读全文
摘要:领域事件大部分发生在领域模型的业务逻辑方法上或者领域服务上,我们可以在一个领域事件发生的时候立即调用IMediator的Publish方法来发布领域事件。 我们一般在聚合根的实体类对象的ChangeName、构造方法等方法中发布领域事件,因为无论是应用服务还是领域服务,最终都要调用聚合根中的方法来操
阅读全文