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 Code
public class Product { public string Name { get; set; } public decimal Price { get; set; } }

3.2. 创建控制器

然后,我们创建一个控制器ProductsController,它返回一个包含多个Product对象的List。

csharpCopy Code
public 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内容。