溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用ASP.NET Razor 語法

發(fā)布時(shí)間:2021-03-08 15:53:45 來源:億速云 閱讀:137 作者:TREX 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“如何使用ASP.NET Razor 語法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

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

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

  • Razor 代碼塊包含在 @{ ... } 中

  • 內(nèi)聯(lián)表達(dá)式(變量和函數(shù))以 @ 開頭

  • 代碼語句用分號(hào)結(jié)束

  • 變量使用 var 關(guān)鍵字聲明

  • 字符串用引號(hào)括起來

  • C# 代碼區(qū)分大小寫

  • C# 文件的擴(kuò)展名是 .cshtml

C# 實(shí)例

<!-- Single statement block -->
@{ var myMessage = "Hello World"; }

<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p>

<!-- Multi-statement block -->
@{
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>

輸出

The value of myMessage is: Hello World

The greeting is: Welcome to our site! Here in Huston it is: Saturday

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

  • Razor 代碼塊包含在 @Code ... End Code 中

  • 內(nèi)聯(lián)表達(dá)式(變量和函數(shù))以 @ 開頭

  • 變量使用 Dim 關(guān)鍵字聲明

  • 字符串用引號(hào)括起來

  • VB 代碼不區(qū)分大小寫

  • VB 文件的擴(kuò)展名是 .vbhtml

實(shí)例

<!-- Single statement block -->
@Code dim myMessage = "Hello World" End Code

<!-- Inline expression or variable -->
<p>The value of myMessage is: @myMessage</p>

<!-- Multi-statement block -->
@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>

輸出

The value of myMessage is: Hello World

The greeting is: Welcome to our site! Here in Huston it is: Saturday

它是如何工作的?

Razor 是一種將服務(wù)器代碼嵌入在網(wǎng)頁中的簡單的編程語法。

Razor 語法是基于 ASP.NET 框架,專門用于創(chuàng)建 Web 應(yīng)用程序的部分 Microsoft.NET 框架。

Razor 語法支持所有 ASP.NET 的功能,但是使用的是一種簡化語法,對(duì)初學(xué)者而言更容易學(xué)習(xí),對(duì)專家而言更有效率的。

Razor 網(wǎng)頁可以被描述成帶以下兩種類型內(nèi)容的 HTML 網(wǎng)頁: HTML 內(nèi)容和 Razor 代碼。

當(dāng)服務(wù)器讀取頁面時(shí),它首先運(yùn)行 Razor 代碼,然后再發(fā)送 HTML 頁面到瀏覽器。在服務(wù)器上執(zhí)行的代碼能夠執(zhí)行一些在瀏覽器上不能完成的任務(wù),比如,訪問服務(wù)器數(shù)據(jù)庫。服務(wù)器代碼能創(chuàng)建動(dòng)態(tài)的 HTML 內(nèi)容,然后發(fā)送到瀏覽器。從瀏覽器上看,服務(wù)器代碼生成的 HTML 與靜態(tài)的 HTML 內(nèi)容沒有什么不同。

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

使用對(duì)象

服務(wù)器編碼往往涉及到對(duì)象。

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

對(duì)象有用于執(zhí)行的方法。一個(gè)數(shù)據(jù)庫記錄可能有一個(gè) "Save" 方法,一個(gè)圖像對(duì)象可能有一個(gè) "Rotate" 方法,一個(gè)電子郵件對(duì)象可能有一個(gè) "Send" 方法,等等。
對(duì)象也有用于描述各自特點(diǎn)的屬性。一個(gè)數(shù)據(jù)庫記錄可能有 FirstName 和 LastName 屬性。

ASP.NET Date 對(duì)象有一個(gè) Now 屬性(寫成 Date.Now),Now 屬性有一個(gè) Day 屬性(寫成 Date.Now.Day)。下面實(shí)例演示了如何訪問 Date 對(duì)象的一些屬性:

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

輸出

NAMEvalue
Day17
Hour21
Minute6
Second38

If 和 Else條件

動(dòng)態(tài)網(wǎng)頁的一個(gè)重要特點(diǎn)是,您可以根據(jù)條件決定做什么。

做到這一點(diǎn)的常用方法是使用 if ... else 語句:

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

輸出

The message is Good Evening

讀取用戶輸入

動(dòng)態(tài)網(wǎng)頁的另一個(gè)重要特點(diǎn)是,您可以讀取用戶輸入。

輸入是通過 Request[] 功能讀取的,并且傳送輸入數(shù)據(jù)是經(jīng)過 IsPost 條件判斷的:

@{
var totalMessage = "";
if(IsPost)
{
var num1 = Request["text1"];
var num2 = Request["text2"];
var total = num1.AsInt() + num2.AsInt();
totalMessage = "Total = " + total;
}
}
<html>
<body >
<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>

輸出

如何使用ASP.NET Razor 語法

“如何使用ASP.NET Razor 語法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI