ASP.NET MVC是一个广泛使用的Web开发框架,而Razor标记是MVC视图中的模板引擎。以下是一份简要的ASP.NET MVC Razor标记的参考手册,包含了一些常见的语法和用法:

Razor语法

输出
  •  @expression:输出表达式的结果。

  •  @{ ... }:定义代码块,用于包含C#代码。

  •  @* ... *@:多行注释。


控制结构
  •  @if (condition) { ... }:条件语句。

  •  @foreach (var item in collection) { ... }:循环语句。

  •  @switch (expression) { case ... }:开关语句。


布局
  •  @section name { ... }:定义布局页中的命名部分。

  •  @RenderSection("name"):在布局页中渲染特定命名部分。


模型
  •  @model TypeName:指定视图使用的模型类型。

  •  @Html.DisplayFor(model => model.Property):显示模型属性的值。


HTML助手
  •  @Html.ActionLink("linkText", "action", "controller"):生成超链接。

  •  @Html.TextBoxFor(model => model.Property, new { @class = "form-control" }):生成文本框。

  •  @Html.DropDownListFor(model => model.Property, SelectList, "Select item", new { @class = "form-control" }):生成下拉列表框。


表单
  •  @using (Html.BeginForm("action", "controller", FormMethod.Post)) { ... }:生成表单。


安全
  •  @Html.Raw(htmlString):原样输出HTML,谨慎使用以防止XSS攻击。

  •  @Html.AntiForgeryToken():生成防跨站请求伪造(CSRF)令牌。


视图文件结构

  •  Views:视图文件存放的文件夹。

  - Shared:共享的视图文件夹。
  - ControllerName:每个控制器对应的视图文件夹。

控制器

  •  ActionResult:动作方法返回的结果类型,如ViewResult、JsonResult等。

  •  [Authorize]:指定需要身份验证才能访问的动作方法或控制器。


路由配置
// 默认路由配置
app.UseEndpoints(endpoints =>
{
    endpoints.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
});

数据库

  •  Entity Framework Core:用于数据访问的ORM工具。

  •  DbContext:数据库上下文类,用于配置实体和数据库连接。

  •  Migration:通过迁移实现数据库结构变更。


以上只是ASP.NET MVC Razor标记的一小部分,实际上,Razor标记涵盖了更广泛的语法和功能。根据具体的应用需求,您可能需要深入了解Razor标记以及ASP.NET MVC的其他方面。您可以参考[官方文档](https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor)以获取更详细的信息。


转载请注明出处:http://www.zyzy.cn/article/detail/14871/ASP.NET Razor 标记