ASP.NET Razor 是一种基于类 HTML 文件的标记语言,它以简单、清晰和易于使用而闻名。本攻略将详细讲解 Razor 语法,以帮助开发人员理解和使用 Razor。
Razor基础
变量
Razor 可以使用 @
符号来定义变量,比如:
@{
var message = "Hello World!";
}
定义完变量之后,就可以在 Razor 中使用它了:
<p>@message</p>
注释
Razor 支持两种类型的注释。
单行注释:
@* This is a single-line comment. *@
多行注释:
@{
/*
This is
a multi-line
comment.
*/
}
输出
使用 @
符号可以在 Razor 中输出内容,例如:
@{
var message = "Hello World!";
}
<p>@message</p>
输出的内容也可以是表达式:
@{
var sum = 1 + 2;
}
<p>The result is @sum.</p>
条件语句
条件语句可以使用标准的 C# 语法。例如,以下代码段将根据 showMessage
变量的值来输出消息:
@if (showMessage) {
<p>Hello World!</p>
}
还有另一种常见的条件语句:在一系列条件中,只有一个选项会被执行。
<p>Choose a color:</p>
<select>
<option selected="selected" disabled="disabled">Select a color...</option>
@{
var colors = new List<string> { "Red", "Green", "Blue" };
foreach (var color in colors) {
<option value="@color">@color</option>
}
}
</select>
循环
Razor 的循环结构也遵循标准的 C# 语法。通常使用 foreach
和 for
语句来进行循环。
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
@{
var persons = new List<Person> {
new Person() { Name = "Tom", Age = 20 },
new Person() { Name = "Bob", Age = 30 },
new Person() { Name = "Mary", Age = 40 }
};
foreach (var person in persons) {
<tr>
<td>@person.Name</td>
<td>@person.Age</td>
</tr>
}
}
</tbody>
</table>
引入资源
Razor 允许您在 HTML 页面中引用外部资源,例如脚本、样式表和图像。例如:
<link rel="stylesheet" href="style.css" />
示例
以下是一个示例,其中展示了 Razor 中的一些功能
@{
var fruits = new List<string>{"apple", "banana", "orange"};
}
<!DOCTYPE html>
<html>
<head>
<title>Razor 示例</title>
<style type="text/css">
table {
border-collapse: collapse;
}
td, th {
border: 1px solid black;
padding: 5px;
}
</style>
</head>
<body>
<h1>Razor 示例页面</h1>
<h2>输出变量</h2>
<p>@fruits[0]</p>
<h2>条件语句</h2>
@if(fruits.Count > 2)
{
<p>有很多水果!</p>
}
else
{
<p>只有几种水果。</p>
}
<h2>循环语句</h2>
<table>
<thead>
<tr>
<th>水果名称</th>
</tr>
</thead>
<tbody>
@foreach(var fruit in fruits)
{
<tr>
<td>@fruit</td>
</tr>
}
</tbody>
</table>
</body>
</html>
上面的代码演示了如何在 Razor 中定义变量、使用条件语句、循环语句以及输出 HTML。运行这段代码,您将看到一个包含列表、标题和表格的简单 HTML 页面。
希望这个攻略对 Razor 有更深入的了解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解ASP.NET Razor 语法 - Python技术站