ASP.NET Razor 语法是一种用于创建动态 Web 页面的标记语言,它允许在 HTML 文件中嵌入 C# 或 VB.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 (Model.IsAdmin)
{
    <p>Welcome, Administrator!</p>
}
else
{
    <p>Welcome, User!</p>
}

4. 循环语句:

  •  使用 @foreach 进行循环操作。

<ul>
    @foreach (var item in Model.Items)
    {
        <li>@item.Name</li>
    }
</ul>

5. 条件语句:

  •  使用 @if、@else if 和 @else 进行条件判断。

@if (Model.IsAdmin)
{
    <p>Welcome, Administrator!</p>
}
else if (Model.IsModerator)
{
    <p>Welcome, Moderator!</p>
}
else
{
    <p>Welcome, User!</p>
}

6. Razor 注释:

  •  使用 @* ... *@ 进行注释。

@* This is a Razor comment *@

7. HTML 编码:

  •  输出的内容会自动进行 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. 部分视图:

  •  使用 @Html.Partial 引入部分视图,实现页面的模块化。

<!-- _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 的设计目标是简洁易读,旨在提高 Web 页面的开发效率。你可以在[官方文档](https://learn.microsoft.com/en-us/aspnet/web-pages/overview/getting-started/introducing-razor-syntax)中查找更多关于 Razor 语法的详细信息。


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