Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

ASP.NET Razor - C# 和 VB 代码语法


Razor 支持 C#(C Sharp)和 VB(Visual Basic)。


C# 的主要 Razor 语法规则

  • Razor 代码块用 @{ ... } 包裹
  • 内联表达式(变量和函数)以 @ 开头
  • 代码语句以分号结尾
  • 变量用 var 关键字声明
  • 字符串用引号括起来
  • C# 代码区分大小写
  • C# 文件扩展名为 .cshtml

C# 示例

<!-- 单语句块 -->
@{ var myMessage = "Hello World"; }

<!-- 内联表达式或变量 -->
<p>myMessage 的值为: @myMessage</p>

<!-- 多语句块 -->
@{
var greeting = "欢迎访问我们的网站!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " 在休斯顿这里是: " + weekDay;
}

<p>问候语为: @greetingMessage</p>
运行示例 »

VB 的主要 Razor 语法规则

  • Razor 代码块用 @Code ... End Code 包裹
  • 内联表达式(变量和函数)以 @ 开头
  • 变量用 Dim 关键字声明
  • 字符串用引号括起来
  • VB 代码不区分大小写
  • VB 文件扩展名为 .vbhtml

示例

<!-- 单语句块  --> 
@Code dim myMessage = "Hello World" End Code
 
<!-- 内联表达式或变量 --> 
<p>myMessage 的值为: @myMessage</p> 
 
<!-- 多语句块 --> 
@Code
dim greeting = "欢迎访问我们的网站!" 
dim weekDay = DateTime.Now.DayOfWeek 
dim greetingMessage = greeting & " 在休斯顿这里是: " & weekDay
End Code


<p>问候语为: @greetingMessage</p>
运行示例 »


它是如何工作的?

Razor 是一种简单的编程语法,用于在网页中嵌入服务器代码。

Razor 语法基于 ASP.NET 框架,它是 Microsoft.NET Framework 的一部分,专门用于创建 Web 应用程序。 

Razor 语法为您提供了 ASP.NET 的所有功能,但使用了一种简化的语法,如果您是初学者,更容易学习,如果您是专家,会让您更高效。

Razor 网页可以描述为具有两种内容的 HTML 页面:HTML 内容和 Razor 代码。

当服务器读取页面时,它首先运行 Razor 代码,然后将 HTML 页面发送到浏览器。在服务器上执行的代码可以执行浏览器无法执行的任务,例如访问服务器数据库。服务器代码可以在发送到浏览器之前动态创建 HTML 内容。从浏览器的角度来看,服务器代码生成的 HTML 与静态 HTML 内容没有区别。

具有 Razor 语法的 ASP.NET 网页具有特殊的扩展名 cshtml(使用 C# 的 Razor)或 vbhtml(使用 VB 的 Razor)。


使用对象

服务器编码通常涉及对象。

"DateTime" 对象是典型的内置 ASP.NET 对象,但对象也可以是自定义的,例如网页、文本框、文件、数据库记录等。

对象可能具有一些可以执行的方法。数据库记录可能具有 "Save" 方法,图像对象可能具有 "Rotate" 方法,电子邮件对象可能具有 "Send" 方法,等等。

对象还具有描述其特征的属性。数据库记录可能具有 FirstName 和 LastName 属性(除其他属性外)。

ASP.NET DateTime 对象具有 Now 属性(写为 DateTime.Now),Now 属性具有 Day 属性(写为 DateTime.Now.Day)。下面的示例展示了如何访问 DateTime 对象的某些属性

示例

<table border="1">
<tr>
<th width="100px">名称</th>
<td width="100px">值</td>
</tr>
<tr>
<td>Day</td><td>@DateTime.Now.Day</td>
</tr>
<tr>
<td>Hour</td><td>@DateTime.Now.Hour</td>
</tr>
<tr>
<td>Minute</td><td>@DateTime.Now.Minute</td>
</tr>
<tr>
<td>Second</td><td>@DateTime.Now.Second</td>
</tr>
</td>
</table>
运行示例 »

If 和 Else 条件

动态网页的一个重要功能是,您可以根据条件确定要执行的操作。

实现此功能的常用方法是使用 if ... else 语句

示例

@{
var txt = "";
if(DateTime.Now.Hour > 12)
  {txt = "晚上好";}
else
  {txt = "早上好";}
}
<html>
<body>
<p>消息为 @txt</p>
</body>
</html>
运行示例 »

读取用户输入

动态网页的另一个重要功能是,您可以读取用户输入。

输入由 Request[] 函数读取,发布(输入)由 IsPost 条件测试

示例

@{
var totalMessage = "";
if(IsPost)
    {
    var num1 = Request["text1"];
    var num2 = Request["text2"];
    var total = num1.AsInt() + num2.AsInt();
    totalMessage = "总计 = " + total;
    }
}

<html>
<body style="background-color: beige; font-family: Verdana, Arial;">
<form action="" method="post">
<p><label for="text1">第一个数字:</label><br>
<input type="text" name="text1" /></p>
<p><label for="text2">第二个数字:</label><br>
<input type="text" name="text2" /></p>
<p><input type="submit" value=" 添加 " /></p>
</form>
<p>@totalMessage</p>
</body>
</html>
运行示例 »

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.