razor:ASP.NET Razor (标记)语言概要

1 简述


Razor, 是服务器端的标记语言。
Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。
基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。
Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能,但更容易使用并且更容易学习。

Razor 语法
    Razor 使用了与 PHP 和经典 ASP 相似的语法。

Razor 帮助器
    ASP.NET 帮助器是通过几行简单的 Razor 代码即可访问的组件。
    您可以使用 Razor 语法构建自己的帮助器,或者使用内建的 ASP.NET 帮助器。

Razor 编程语言
    Razor 支持 C# (C sharp) 和 VB (Visual Basic)。

2 主要的 Razor C# 语法规则

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

3 使用对象


    ASP.NET Date 对象有一个 Now 属性(写成 Date.Now),Now 属性有一个 Day 属性(写成 Date.Now.Day)。访问 Date 对象的属性的写法示例,
    ......
    <td>Day</td><td>@DateTime.Now.Day</td>
    <td>Hour</td><td>@DateTime.Now.Hour</td>
    <td>Minute</td><td>@DateTime.Now.Minute</td>
    <td>Second</td><td>@DateTime.Now.Second</td>
    ......

 

4 读取用户输入

 

动态网页的另一个重要特点是,可以读取用户输入。
输入是通过 Request[] 功能读取的,并且传送输入数据是经过 IsPost 条件判断的:

实例
@{
var totalMessage = "";
if(IsPost)
{
var num1 = Request["text1"];
var num2 = Request["text2"];
var total = num1.AsInt() + num2.AsInt();
totalMessage = "Total = " + total;
}
}
<html>
<body style="background-color: beige; font-family: Verdana, Arial;">
<form action="" method="post">
<p><label for="text1">First Number:</label><br>
<input type="text" name="text1" /></p>
<p><label for="text2">Second Number:</label><br>
<input type="text" name="text2" /></p>
<p><input type="submit" value=" Add " /></p>
</form>
<p>@totalMessage</p>
</body>
</html>

 

5 ASP.NET Razor - C# 变量

 

变量使用 var 关键字声明,或通过使用类型(如果您想声明类型)声明,但是 ASP.NET 通常能自动确定数据类型。
示例,

var greeting = "Welcome to RUNOOB.COM";
var counter = 103;
var today = DateTime.Today;

string greeting = "Welcome to RUNOOB.COM";
int counter = 103;
DateTime today = DateTime.Today;

 

6 转换数据类型

 

方法     描述     
AsInt()
IsInt()     转换字符串为整数

AsFloat()
IsFloat()     转换字符串为浮点数

AsDecimal()
IsDecimal()     转换字符串为十进制数

AsDateTime()
IsDateTime()    转换字符串为 ASP.NET DateTime 类型

AsBool()
IsBool()     转换字符串为布尔值

ToString()     转换任何数据类型为字符串。

 

7 C# 循环和数组

 

<html>
<body>
@for(var i = 10; i < 21; i++)
{<p>Line @i</p>}
</body>
</html>

<ul>
@foreach (var x in Request.ServerVariables)
{<li>@x</li>}
</ul>

<html>
<body>
@{
var i = 0;
while (i < 5)
{
i += 1;
<p>Line @i</p>
}
}
</body>
</html>

 

8 C# 逻辑条件

 

@{var price=50;}
<html>
<body>
@if (price>30)
{
<p>The price is too high.</p>
}
</body>
</html>

@{var price=20;}
<html>
<body>
@if (price>30)
{
<p>The price is too high.</p>
}
else
{
<p>The price is OK.</p>
}
</body>
</html>

@{
var weekday=DateTime.Now.DayOfWeek;
var day=weekday.ToString();
var message="";
}
<html>
<body>
@switch(day)
{
case "Monday":
message="This is the first weekday.";
break;
case "Thursday":
message="Only one day before weekend.";
break;
case "Friday":
message="Tomorrow is weekend!";
break;
default:
message="Today is " + day;
break;
}
<p>@message</p>
</body>
</html>

相关推荐

相关文章