Razor C# 逻辑学习笔记
1. Razor简介
Razor是一种基于ASP.NET的视图引擎,它将HTML与服务器端代码(如C#)相结合,生成动态HTML内容,主要用于开发Web应用程序。Razor语法简洁清晰,易于阅读和维护,非常适合Web开发工作。
2. Razor语法
2.1. Razor语句
Razor语句使用@符号开始,例如:
Copy Code@{
// 这里是C#代码
}
Razor语句可以放在HTML标签中,例如:
Copy Code<p>The current time is @DateTime.Now.ToString()</p>
2.2. Razor表达式
Razor表达式使用@符号开始和结束,例如:
Copy Code<p>Welcome, @Model.Name!</p>
2.3. Razor注释
Razor注释使用@和@符号,例如:
Copy Code@* 这是一个注释 *@
2.4. Razor循环语句
Razor循环语句使用@符号开始和后面的循环关键字,例如:
Copy Code@foreach(var item in Model.Items) {
<p>@item</p>
}
2.5. Razor条件语句
Razor条件语句使用@符号开始和后面的if或switch关键字,例如:
Copy Code@if(condition) {
<p>这是一行文本。</p>
} else {
<p>这是另一行文本。</p>
}
2.6. Razor布局页
Razor布局页使用@符号开始和后面的layout关键字,例如:
Copy Code@{
Layout = "_Layout.cshtml";
}
3. Razor实例
以下是一个简单的Razor实例,它演示了如何使用Razor语法显示一个产品列表。
3.1. 创建模型
首先,我们需要创建一个模型类Product,它包含了产品名称和价格。
csharpCopy Codepublic class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
3.2. 创建控制器
然后,我们创建一个控制器ProductsController,它返回一个包含多个Product对象的List。
csharpCopy Codepublic class ProductsController : Controller
{
public IActionResult Index()
{
var products = new List<Product>()
{
new Product() { Name = "Product A", Price = 100 },
new Product() { Name = "Product B", Price = 200 },
new Product() { Name = "Product C", Price = 300 }
};
return View(products);
}
}
3.3. 创建视图
最后,我们创建一个视图Index.cshtml,它使用Razor语法显示产品列表。
htmlCopy Code@model List<Product>
<h1>Products</h1>
<table>
<thead>
<tr>
<th>Name</th>
<th>Price</th>
</tr>
</thead>
<tbody>
@foreach(var product in Model)
{
<tr>
<td>@product.Name</td>
<td>@product.Price</td>
</tr>
}
</tbody>
</table>
3.4. 运行应用程序
最后,我们运行应用程序,在浏览器中访问Products页面,即可看到产品列表。
以上就是一个简单的Razor实例,展示了如何使用Razor语法创建动态HTML内容。