1. 代码块和表达式:
- 使用 @{ ... } 来定义代码块,可以在其中包含任意数量的 C# 代码。
- 使用 @ 符号来表示表达式,以输出 C# 代码的结果。
@{
// Code block
var currentDate = DateTime.Now;
// Expression
<p>Current date: @currentDate</p>
}
2. 变量和模型绑定:
- 使用 @ 符号来引用变量和执行模型绑定。
- 使用 @model 关键字指定视图的模型类型。
@model MyApp.Models.User
<p>Hello, @Model.UserName!</p>
3. 条件语句和循环:
- 使用 if、else if、else 来执行条件判断。
- 使用 foreach 循环迭代集合中的元素。
- 使用 while 和 do-while 执行循环。
@if (Model.IsAdmin)
{
<p>Welcome, Admin!</p>
}
else
{
<p>Welcome, User!</p>
}
<ul>
@foreach (var item in Model.Items)
{
<li>@item</li>
}
</ul>
4. HTML 编码和原始输出:
- 默认情况下,Razor 会对输出进行 HTML 编码,防止跨站脚本攻击(XSS)。
- 使用 @Html.Raw() 来输出原始 HTML,但要谨慎使用,以避免安全风险。
<!-- 默认 HTML 编码 -->
<p>@Model.Description</p>
<!-- 原始输出 -->
<p>@Html.Raw(Model.RawHtml)</p>
5. 局部函数和帮助方法:
- 在 Razor 页面中,可以定义局部函数来组织代码逻辑。
- 使用 @functions { ... } 区块定义局部函数。
- 使用 HTML 辅助方法(@Html)生成 HTML 元素和表单控件。
@functions {
// 局部函数
void DisplayMessage(string message)
{
<p>@message</p>
}
}
<!-- 使用局部函数 -->
@DisplayMessage("Hello, World!")
6. 布局页和部分视图:
- 使用 @{ Layout = "path/to/layout.cshtml"; } 来指定布局页。
- 使用 @RenderSection("sectionName") 在布局页中渲染部分视图。
@{
// 布局页设置
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Content for the page</h1>
@section Footer {
<p>Footer content</p>
}
7. 注释:
- 使用 @* ... *@ 来添加 Razor 注释。
- 注释中的内容不会被发送到客户端。
@* This is a Razor comment *@
这些是 Razor 的一些基本语法要点。Razor 的设计目标是在 HTML 中嵌套 C# 代码时保持清晰简洁,使开发人员能够更轻松地构建动态 Web 页面。
转载请注明出处:http://www.zyzy.cn/article/detail/14854/ASP.NET Razor 标记