ASP.NET Razor 是一种用于创建动态 Web 页面的标记语言,其语法简洁而强大。以下是一些 ASP.NET Razor 中常见的标记和语法:

1. @ 符号:

@ 符号是 Razor 语法的起始标记,用于引入 C# 或 VB.NET 代码块。代码块可以包含变量、表达式、语句等。
<p>The current date and time is: @DateTime.Now</p>

2. Razor 表达式:

Razor 表达式用于在页面中输出动态内容,可以包含变量、属性、方法等。
<p>Hello, @Model.UserName!</p>

3. @if 和 @else:

Razor 支持条件语句,如 @if 和 @else。
@if (Model.IsAdmin)
{
    <p>Welcome, Administrator!</p>
}
else
{
    <p>Welcome, User!</p>
}

4. 循环语句:

Razor 支持循环语句,如 @foreach。
<ul>
    @foreach (var item in Model.Items)
    {
        <li>@item.Name</li>
    }
</ul>

5. Razor 注释:

Razor 注释以 @* ... *@ 的形式存在,可以用于添加注释。
@* This is a Razor comment *@

6. @section:

@section 用于定义页面中的片段,可以在布局页中使用。它通常用于定义页面标题、脚本等。
@section scripts {
    <script>
        // JavaScript code
    </script>
}

7. HTML 编码:

Razor 会自动对输出进行 HTML 编码,以防止跨站点脚本攻击。
<p>@Html.Raw("<strong>This is strong</strong>")</p>

8. Layout 页面:

Layout 页面用于定义整个站点的共享布局结构,可以包含头部、尾部等。
<!-- _Layout.cshtml -->

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
</head>
<body>
    <div id="header">
        <h1>@ViewBag.Title</h1>
    </div>
    
    <div id="content">
        @RenderBody()
    </div>

    <div id="footer">
        &copy; 2023 My Website
    </div>
</body>
</html>

9. 部分视图:

部分视图用于将页面分解为可重用的组件,可以在多个页面中共享。
<!-- _Header.cshtml -->

<div id="header">
    <h1>@ViewBag.Title</h1>
</div>
<!-- 页面中使用部分视图 -->

@section header {
    @Html.Partial("_Header")
}

<div id="content">
    <p>Welcome to the home page!</p>
</div>

这些是 ASP.NET Razor 中一些常见的标记和语法。Razor 的强大之处在于其简洁性和与 C# 或 VB.NET 的深度集成,使得开发者能够轻松地创建动态且可维护的 Web 页面。你可以在[官方文档](https://learn.microsoft.com/en-us/aspnet/web-pages/overview/getting-started/introducing-razor-syntax)中找到更多详细信息。


转载请注明出处:http://www.pingtaimeng.com/article/detail/6549/ASP.NET