欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET Razor - C# 和 VB 代碼語(yǔ)法

Razor 同時(shí)支持 C# (C sharp) 和 VB (Visual Basic)。

C# 的主要 Razor 語(yǔ)法規(guī)則

  • Razor 代碼封裝于 @{ ... } 中
  • 行內(nèi)表達(dá)式(變量和函數(shù))以 @ 開頭
  • 代碼語(yǔ)句以分號(hào)結(jié)尾
  • 字符串由引號(hào)包圍
  • C# 代碼對(duì)大小寫敏感
  • C# 文件的擴(kuò)展名是 .cshtml

C# 實(shí)例

<!-- 單行代碼塊 -->
@{ var myMessage =	"Hello World"; }

<!-- 行內(nèi)表達(dá)式或變量 -->
<p>The value of myMessage is: @myMessage</p> 

<!-- 多行語(yǔ)句代碼塊 -->
@{
var greeting = "Welcome to our site!";
var weekDay = DateTime.Now.DayOfWeek;
var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>

運(yùn)行實(shí)例

VB 的主要 Razor 語(yǔ)法規(guī)則

  • Razor 代碼塊被包圍在 @Code ... End Code 中
  • 行內(nèi)表達(dá)式(變量和函數(shù))以 @ 開頭
  • 以 Dim 關(guān)鍵詞來聲明變量
  • 字符串由引號(hào)包圍
  • VB 對(duì)大小寫不敏感
  • VB 文件的擴(kuò)展名是 .vbhtml

實(shí)例

<!-- 單行代碼塊 -->
@Code dim myMessage = "Hello World" End Code
 
<!-- 行內(nèi)表達(dá)式或變量 -->
<p>The value of myMessage is: @myMessage</p> 
 
<!-- 多行語(yǔ)句代碼塊 -->
@Code
dim greeting = "Welcome to our site!" 
dim weekDay = DateTime.Now.DayOfWeek 
dim greetingMessage = greeting & " Here in Huston it is: " & weekDay
End Code 

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

運(yùn)行實(shí)例

如何工作?

Razor 是一種簡(jiǎn)單的編程語(yǔ)法,用于在網(wǎng)頁(yè)中嵌入服務(wù)器端代碼。

Razor 語(yǔ)法基于 ASP.NET 框架,該框架是微軟的 .NET 框架特別為 web 應(yīng)用程序開發(fā)而設(shè)計(jì)的組成部分。

Razor 語(yǔ)法賦予您所有 ASP.NET 的能力,但是使用了簡(jiǎn)化過的語(yǔ)法,如果您是初學(xué)者,則更容易學(xué)習(xí),如果您是專家,則更有利于提高生產(chǎn)力。

Razor 網(wǎng)頁(yè)可被描述為帶有兩種內(nèi)容的 HTML 頁(yè)面:HTML 內(nèi)容和 Razor 代碼。

當(dāng)服務(wù)器讀取這種頁(yè)面后,在將 HTML 頁(yè)面發(fā)送到瀏覽器之前,會(huì)首先運(yùn)行 Razor 代碼。這些在服務(wù)器上執(zhí)行的代碼能夠完成瀏覽器中無法完成的任務(wù),比如訪問服務(wù)器數(shù)據(jù)庫(kù)。服務(wù)器代碼能夠在頁(yè)面被發(fā)送到瀏覽器之前創(chuàng)建動(dòng)態(tài)的 HTML 內(nèi)容。從瀏覽器來看的話,由服務(wù)器代碼生成的 HTML 與靜態(tài) HTML 內(nèi)容沒有區(qū)別。

使用 Razor 語(yǔ)法的 ASP.NET 網(wǎng)頁(yè)擁有特殊的文件擴(kuò)展名 cshtml(使用 C# 的 Razor 語(yǔ)法)或者 vbhtml(使用 VB 的 Razor)。

與對(duì)象打交道

服務(wù)器代碼常常涉及對(duì)象。

"Date" 對(duì)象是典型的 ASP.NET 內(nèi)建對(duì)象,但是也可以自行定義對(duì)象,一張網(wǎng)頁(yè),一個(gè)文本框,一個(gè)文件,或者一條數(shù)據(jù)庫(kù)記錄,等等。

對(duì)象可以擁有能夠執(zhí)行的方法。數(shù)據(jù)庫(kù)記錄可以提供“保存”方法,圖像對(duì)象可以有“旋轉(zhuǎn)”方法,電子郵件對(duì)象可以提供“發(fā)送”方法,以此類推。

對(duì)象也可以有描述其特點(diǎn)的屬性。數(shù)據(jù)庫(kù)記錄可以有 FirstName 和 LastName 屬性。

ASP.NET Date 對(duì)象擁有 Now 屬性(寫為 Date.Now),Now 屬性有 Day 屬性(寫為 Date.Now.Day)。下面的例子展示如何訪問 Date 對(duì)象的某些屬性:

實(shí)例

<table border="1">
<tr>
<th width="100px">Name</th>
<td width="100px">Value</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>

運(yùn)行實(shí)例

If 和 Else 條件

動(dòng)態(tài)網(wǎng)頁(yè)的重要特性是基于條件來確定執(zhí)行的動(dòng)作。

實(shí)現(xiàn)這一點(diǎn)的常用方法是使用 if ... else 語(yǔ)句:

實(shí)例

@{
var txt = "";
if(DateTime.Now.Hour > 12)
  {txt = "Good Evening";}
else
  {txt = "Good Morning";}
}
<html>
<body>
<p>The message is @txt</p>
</body>
</html>

運(yùn)行實(shí)例

讀取用戶輸入

動(dòng)態(tài)網(wǎng)頁(yè)的另一個(gè)重要特性是讀取用戶的輸入。

由 Request[] 函數(shù)讀取輸入,并由 IsPost 條件進(jìn)行測(cè)試:

實(shí)例

@{
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>

運(yùn)行實(shí)例