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>
總結
以上是生活随笔為你收集整理的ASP.NET Razor (标记)语言概要的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win平台使用cmake工具生成sln工
- 下一篇: Linux内存管理 - 页表的映射过程初