📌 Razor 是什么?
Razor 是 ASP.NET Web Pages 使用的服务器端模板语言,允许你在 HTML 中直接嵌入 C# 代码块。Razor 文件的扩展名是 .cshtml
。
- Razor 表达式以
@
开头 - 可以在 HTML 中插入变量、执行逻辑
- 在服务器执行,结果被发送到客户端
🧩 基本 Razor 表达式
@DateTime.Now
输出当前日期和时间,例如:
2025/5/7 10:23:00
✏️ 在 HTML 中插入变量
@{
var name = "Alice";
}
<p>Hello, @name!</p>
输出:
<p>Hello, Alice!</p>
⚙️ 条件语句
@{
var hour = DateTime.Now.Hour;
}
@if (hour < 12) {
<p>Good morning!</p>
} else {
<p>Good afternoon!</p>
}
🔁 循环语句
@{
var fruits = new[] { "Apple", "Banana", "Cherry" };
}
<ul>
@foreach (var fruit in fruits) {
<li>@fruit</li>
}
</ul>
输出:
<ul>
<li>Apple</li>
<li>Banana</li>
<li>Cherry</li>
</ul>
📦 Razor 代码块(@{ }
)
- 放置多行 C# 代码
- 定义变量、逻辑判断、函数等都在此块内完成
@{
var title = "Welcome";
var year = DateTime.Now.Year;
}
<h1>@title to our site!</h1>
<footer>© @year</footer>
💡 使用 Layout 页面共享代码(简要示例)
_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<title>@Page.Title</title>
</head>
<body>
<div class="main">
@RenderBody()
</div>
</body>
</html>
home.cshtml
@{
Layout = "_Layout.cshtml";
Page.Title = "Home";
}
<h2>This is the homepage</h2>
🌐 出站链接推荐
📚 参考资料
- Microsoft Learn: Introducing Razor Syntax
- Stack Overflow: razor-syntax
- WebMatrix Razor 教程(归档)
是否继续下一章:数据访问与 WebGrid 的使用?
发表回复