ASP.NET Web Pages 使用 Razor 语法来创建动态 Web 页面。Razor 是一种简洁而直观的标记语言,使得在 HTML 中嵌套 C# 代码变得容易。以下是 Razor 在 ASP.NET Web Pages 中的基本用法:

1. 基本语法:
   使用 @ 符号将 C# 代码嵌套到 HTML 中。在 Razor 中,@ 符号表示代码块的开始。
   <!DOCTYPE html>
   <html>
   <head>
       <title>My Razor Page</title>
   </head>
   <body>
       <h1>Welcome to my page, @User.Name!</h1>
   </body>
   </html>

2. 变量和表达式:
   在 Razor 中,可以直接访问和显示变量的值。
   @{
       var currentDate = DateTime.Now;
   }

   <p>The current date is: @currentDate</p>

3. 条件语句:
   使用 @if、@else if 和 @else 进行条件判断。
   @{
       var age = 25;
   }

   @if (age >= 18)
   {
       <p>You are an adult.</p>
   }
   else
   {
       <p>You are a minor.</p>
   }

4. 循环语句:
   使用 @foreach 进行循环遍历。
   @{
       var items = new List<string> { "Item 1", "Item 2", "Item 3" };
   }

   <ul>
       @foreach (var item in items)
       {
           <li>@item</li>
       }
   </ul>

5. 局部函数和帮助方法:
   在 Razor 页面中定义局部函数和调用帮助方法。
   @{
       Func<int, int, int> add = (a, b) => a + b;
       var result = add(3, 4);
   }

   <p>Result: @result</p>

6. HTML 辅助方法:
   Razor 提供了一系列 HTML 辅助方法,用于生成常见的 HTML 元素。
   @{
       var linkText = "Click me";
       var url = "/SomePage";
   }

   <a href="@url">@Html.Raw(linkText)</a>

7. 布局页(Layout Page):
   创建布局页定义共享的页面结构,使用 @RenderBody 和 @RenderSection。
   <!-- _Layout.cshtml -->

   <!DOCTYPE html>
   <html>
   <head>
       <title>@Page.Title</title>
   </head>
   <body>
       <div id="content">
           @RenderBody()
       </div>
       <footer>
           @RenderSection("Footer", required: false)
       </footer>
   </body>
   </html>
   <!-- 页面中使用布局页 -->

   @{
       Layout = "_Layout";
       Page.Title = "My Page";
   }

   <p>Main content of the page.</p>

   @{
       Section["Footer"] = () => {
           <p>Footer content.</p>
       };
   }

这只是 Razor 在 ASP.NET Web Pages 中的基本用法。Razor 语法非常灵活,允许在 HTML 中嵌套 C# 代码,从而实现动态生成内容和逻辑。


转载请注明出处:http://www.zyzy.cn/article/detail/14836/ASP.NET Razor 标记