Razor 是一種允許向網頁中嵌入基于服務器的代碼(C#)的標記語法,是微軟針對ASP.NET MVC推出的模板引擎。
<!-- 單行代碼塊 -->@{ var myMessage = "Hello World"; }<!-- 行內表達式或變量 --><p>The value of myMessage is: @myMessage</p> <!-- 多行語句代碼塊 -->@{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>服務器代碼常常涉及對象。
"Date" 對象是典型的 ASP.NET 內建對象,但是也可以自行定義對象,一張網頁,一個文本框,一個文件,或者一條數據庫記錄,等等。
對象可以擁有能夠執行的方法。數據庫記錄可以提供“保存”方法,圖像對象可以有“旋轉”方法,電子郵件對象可以提供“發送”方法,以此類推。
對象也可以有描述其特點的屬性。數據庫記錄可以有 FirstName 和 LastName 屬性。
ASP.NET Date 對象擁有 Now 屬性(寫為 Date.Now),Now 屬性有 Day 屬性(寫為 Date.Now.Day)。下面的例子展示如何訪問 Date 對象的某些屬性:
<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>
動態網頁的另一個重要特性是讀取用戶的輸入。
由 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>將一種數據類型轉換為另一種有時很有用。
大多數常見的例子是將字符串輸入轉換為另一種類型,比如整數或日期。
作為一項規則,用戶輸入會成為字符串,即使用戶輸入的是數字。所以,數字輸入值在用于計算之前必須被轉換為數字。
下面是常用的轉換方法列表:
| 方法 | 描述 | 實例 |
|---|---|---|
| 把字符串轉換為整數。 | if (myString.IsInt()) {myInt=myString.AsInt();} |
| 把字符串轉換為浮點數。 | if (myString.IsFloat()) {myFloat=myString.AsFloat();} |
| 把字符串轉換為十進制數。 | if (myString.IsDecimal()) {myDec=myString.AsDecimal();} |
| 把字符串轉換為 ASP.NET DateTime 類型 | myString="10/10/2012"; myDate=myString.AsDateTime(); |
| 把字符串轉換為邏輯值。 | myString="True"; myBool=myString.AsBool(); |
| ToString() | 把任意數據類型轉換為字符串。 | myInt=1234; myString=myInt.ToString(); |
新聞熱點
疑難解答