以下是 Razor 语法的一些基本概念:
1. 变量和表达式:
使用 @ 符号在 Razor 代码块中声明变量或执行表达式。这些代码块会在服务器端执行。
@{
var message = "Hello, Razor!";
}
<p>@message</p>
2. 控制结构:
使用 if、else、foreach 等控制结构进行条件判断和循环操作。
@if (condition)
{
<p>Condition is true.</p>
}
else
{
<p>Condition is false.</p>
}
<ul>
@foreach (var item in collection)
{
<li>@item</li>
}
</ul>
3. Razor 指令:
Razor 语法支持一些特殊的指令,如 @model、@inherits,用于指定模型或继承关系。
@model MyModel
<p>@Model.Property</p>
4. HTML 辅助方法:
Razor 提供了一系列 HTML 辅助方法,用于生成 HTML 标签,这些方法可以简化 HTML 的生成和避免 XSS 攻击。
@Html.Raw("<p>This is raw HTML.</p>")
<a href="@Url.Action("ActionName", "ControllerName")">Link</a>
5. 布局和部分视图:
使用 Layout 和 RenderSection 可以创建共享布局和部分视图,提高页面的可维护性。
<!-- _Layout.cshtml -->
<!DOCTYPE html>
<html>
<head>
<title>@RenderSection("Title") - My Web Pages</title>
</head>
<body>
<div id="content">
@RenderBody()
</div>
</body>
</html>
<!-- Page.cshtml -->
@{
Layout = "_Layout.cshtml";
ViewBag.Title = "Home Page";
}
@section Title {
Home
}
<h1>Welcome to the Home Page</h1>
6. Razor 语法的注释:
使用 @* ... *@ 进行多行注释,使用 @* ... *@ 进行单行注释。
@* This is a multiline comment *@
<p>
This is a paragraph.
@* This is a single-line comment *@
</p>
7. Razor Pages:
在 ASP.NET Core 中,Razor Pages 是一种更现代的 Web 开发模型,它构建在 Razor 语法之上,提供更直观的方式来组织页面和处理请求。Razor Pages 使用 @page 指令指定页面路径,将 HTML 和 C# 代码组织在同一个文件中。
@page
@model MyModel
<h1>@Model.Title</h1>
这只是 Razor 语法的一些基本概念,Razor 语法非常强大且灵活,使得在页面中嵌套 C# 代码变得更加简单。
转载请注明出处:http://www.zyzy.cn/article/detail/14781/ASP.NET Web Pages