W3C HTML 网页标准教程

Web Pages Razor

在本教程中,我们将通过 C# 和 Visual Basic 代码来使用 Razor 标记。

什么是 Razor?

  • Razor 是一种向网页添加基于服务器的代码的标记语法
  • Razor 拥有传统 ASP.NET 标记的能力,但是更易学习,更易使用
  • Razor 是一种类似 ASP 和 PHP 的服务器端标记语法
  • Razor 支持 C# 和 Visual Basic 编程语言

添加 Razor 代码

记得上一章中的网页吗:

<!DOCTYPE html>

<html lang="en">
<head>
   <meta charset="utf-8" />
    <title>Web Pages Demo</title>
</head>
<body>
    <h1>Hello Web Pages</h1>
</body>
</html>

现在向例子中添加一些 Razor 代码:

实例

<!DOCTYPE html>

<html lang="en">
<head>
     <meta charset="utf-8" />
     <title>Web Pages Demo</title>
</head>
<body>
     <h1>Hello Web Pages</h1> 
     <p>The time is @DateTime.Now</p>
</body>
</html>

运行实例

该页面包含常规的 HTML 标记,此外还包含:由 @ 标记的 Razor 代码。

Razor 代码的全部工作是检测服务器上的当前时间,然后显示出来。(您可以指定格式选项,或者仅仅以默认格式显示)

C# 的主要 Razor 语法规则

  • Razor 代码块由 @{ ... } 包围
  • 行内表达式(变量和函数)以 @ 开始
  • 代码语句以分号结束
  • 变量通过 var 关键词进行声明
  • 字符串用引用来包围
  • C# 代码对大小写敏感
  • C# 文件的扩展名是 .cshtml

C# 实例

<!-- 单行代码块 -->
@{ var myMessage = "Hello World"; }

<!-- 行内表达式或变量 -->
<p>The value of myMessage is: @myMessage</p> 

<!-- 多行代码块 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Today is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>

运行实例

VB 的主要 Razor 语法规则

  • Razor 代码块由 @Code ... End 包围
  • 行内表达式(变量和函数)以 @ 开始
  • 变量通过 Dim 关键词进行声明
  • 字符串用引用来包围
  • C# 代码对大小写不敏感
  • C# 文件的扩展名是 .vbhtml

实例

<!-- 单行代码块 -->
@Code dim myMessage = "Hello World" End Code
 
<!-- 行内表达式或变量 -->
<p>The value of myMessage is: @myMessage</p> 
 
<!-- 多行代码块 -->
@Code
dim greeting = "Welcome to our site!" 
dim weekDay = DateTime.Now.DayOfWeek 
dim greetingMessage = greeting & " Today is: " & weekDay
End Code 

<p>The greeting is: @greetingMessage</p>

运行实例