1. 基本语法:
使用 @ 符号将 C# 代码嵌套到 HTML 中。在 Razor 中,@ 符号表示代码块的开始。
<!DOCTYPE html>
<html>
<head>
<title>My Razor Page</title>
</head>
<body>
<h1>Welcome to my page, @User.Name!</h1>
</body>
</html>
2. 变量和表达式:
在 Razor 中,可以直接访问和显示变量的值。
@{
var currentDate = DateTime.Now;
}
<p>The current date is: @currentDate</p>
3. 条件语句:
使用 @if、@else if 和 @else 进行条件判断。
@{
var age = 25;
}
@if (age >= 18)
{
<p>You are an adult.</p>
}
else
{
<p>You are a minor.</p>
}
4. 循环语句:
使用 @foreach 进行循环遍历。
@{
var items = new List<string> { "Item 1", "Item 2", "Item 3" };
}
<ul>
@foreach (var item in items)
{
<li>@item</li>
}
</ul>
5. 局部函数和帮助方法:
在 Razor 页面中定义局部函数和调用帮助方法。
@{
Func<int, int, int> add = (a, b) => a + b;
var result = add(3, 4);
}
<p>Result: @result</p>
6. HTML 辅助方法:
Razor 提供了一系列 HTML 辅助方法,用于生成常见的 HTML 元素。
@{
var linkText = "Click me";
var url = "/SomePage";
}
<a href="@url">@Html.Raw(linkText)</a>
7. 布局页(Layout Page):
创建布局页定义共享的页面结构,使用 @RenderBody 和 @RenderSection。
<!-- _Layout.cshtml -->
<!DOCTYPE html>
<html>
<head>
<title>@Page.Title</title>
</head>
<body>
<div id="content">
@RenderBody()
</div>
<footer>
@RenderSection("Footer", required: false)
</footer>
</body>
</html>
<!-- 页面中使用布局页 -->
@{
Layout = "_Layout";
Page.Title = "My Page";
}
<p>Main content of the page.</p>
@{
Section["Footer"] = () => {
<p>Footer content.</p>
};
}
这只是 Razor 在 ASP.NET Web Pages 中的基本用法。Razor 语法非常灵活,允许在 HTML 中嵌套 C# 代码,从而实现动态生成内容和逻辑。
转载请注明出处:http://www.zyzy.cn/article/detail/14836/ASP.NET Razor 标记