Razor 语法学习笔记
什么是 Razor 语法?
Razor 是一种基于 C# 的轻量级模板语言,用于动态生成 HTML、XML、JS 等文档。它使用类似于 ASP.NET Web Forms 的语法进行编写,但与 Web Forms 不同的是,Razor 更加注重前端开发人员的体验,使开发工作更加轻松和高效。
Razor 语法的基本介绍
Razor 语法特点
- 简洁:Razor 语法非常简洁,尤其是对于想要在视图中创建复杂逻辑的 MVC 开发人员来说。
- 易读:Razor 语法可以让你更容易地读懂代码,这也让你处理代码变得更加快捷。
- 隐藏代码逻辑:Razor 语法会尽可能地隐藏代码逻辑,这可以让你更加专注于视图上的内容。
Razor 语法的基本语法
输出语句
输出语句用于将变量或表达式的值插入到视图中。在 Razor 中,我们使用 @
符号来定义输出语句,如下所示:
Copy Code@{
// 定义一个变量
var title = "我的 Razor 学习笔记";
}
<h1>@title</h1>
在上面的例子中,我们定义了一个变量 title
,并将它的值输出到 <h1>
标签中。
条件语句
条件语句用于根据表达式的值来决定是否执行某些语句。在 Razor 中,我们使用 if...else
语句来定义条件语句,如下所示:
Copy Code@{
// 定义一个变量
var age = 18;
}
@if (age >= 18) {
<p>你已经成年了!</p>
}
else {
<p>你还是未成年人!</p>
}
在上面的例子中,我们根据 age
变量的值来执行不同的代码块。
循环语句
循环语句用于重复执行一组语句。在 Razor 中,我们使用 for
、foreach
和 while
等关键字来定义循环语句,如下所示:
Copy Code@{
// 定义一个数组
var names = new[] { "张三", "李四", "王五" };
}
@foreach (var name in names) {
<p>@name</p>
}
在上面的例子中,我们使用 foreach
循环语句遍历了 names
数组,然后输出每个元素的值。
Razor 语法实例
示例1:动态生成 HTML
Copy Code@{
// 定义一个包含学生姓名和成绩的字典
var students = new Dictionary<string, int> {
{ "张三", 90 },
{ "李四", 80 },
{ "王五", 70 }
};
}
<h2>学生列表</h2>
<table>
<tr>
<th>学生姓名</th>
<th>分数</th>
</tr>
@foreach (var student in students) {
<tr>
<td>@student.Key</td>
<td>@student.Value</td>
</tr>
}
</table>
在上面的例子中,我们定义了一个包含学生信息的字典,并使用 foreach
循环语句遍历了这个字典,然后根据字典中的数据动态生成了一个 HTML 表格。
示例2:根据条件显示不同的内容
Copy Code@{
// 定义一个包含用户角色的列表
var roles = new[] { "teacher", "admin", "student" };
// 定义当前用户的角色
var role = "admin";
}
@if (role == "admin") {
<h1>欢迎管理员登陆</h1>
}
else if (role == "student") {
<h1>欢迎学生登陆</h1>
}
else {
<h1>欢迎访问本网站</h1>
}
在上面的例子中,我们定义了一个包含用户角色的数组,然后根据当前用户的角色来显示不同的标题。当用户的角色为 admin
时,会显示“欢迎管理员登陆”;当用户的角色为 student
时,会显示“欢迎学生登陆”;否则,会显示“欢迎访问本网站”。