詳解ASP.NET Razor 語法_實用技巧

來源:腳本之家  責任編輯:小易  

if(imagePath!{} 這段代碼有問題,應該是:代碼塊的話應該是@{}包起來的,輸出變量值是用@變量名,在代碼塊中輸出html或者字符的話,應該是@:你先顯示的html,所以這段代碼應該是:{if(imagePath!{img src="@imagePath"alt="Sample"/>}}www.anxorj.tw防采集請勿采集本網。

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

可以的。你可以使用2113 ()\">我的5261操作, 也可以使用 我的操作\"onclick=\"addMood()\"/> 就是說你4102點它是時間去調用addMood()方式,他會$('#moodForm').submit();提交1653你當前的表單,記住

主要的 Razor C# 語法規則 Razor 代碼塊包含在 @{ ... } 中 內聯表達式(變量和函數)以 @ 開頭 代碼語句用分號結束 變量使用 var 關鍵字聲明 字符串用引號括起來 C# 代碼區分大小寫 C# 文件的擴展名是 .cshtml

可以講沒有任何關系。Razor引擎是在ASP.NET中執行的,負責將MVC中的View代碼轉成html內容輸出給瀏覽器;JavaScript一般是在瀏覽器端執行的;

Razor大致為服務端html+后臺語言,相當于html的替代,然后兩者關系接近JavaScript和html的關系。大概

C# 實例

(\"~/Images/login/bg2.png\")\"/>

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

Razor模板引擎是我見過的最好的模板引擎了。前面有人回答『破壞了html的純潔性』,我不同意。模板引擎的作用是用數據去渲染dom,那必然會有一些符號或標記去做數據的占位符。比比看常見的模板

輸出

The value of myMessage is: Hello World

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

主要的 Razor VB 語法規則 Razor 代碼塊包含在 @Code ... End Code 中 內聯表達式(變量和函數)以 @ 開頭 變量使用 Dim 關鍵字聲明 字符串用引號括起來 VB 代碼不區分大小寫 VB 文件的擴展名是 .vbhtml

實例

<!-- 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 -->@Codedim greeting = "Welcome to our site!"dim weekDay = DateTime.Now.DayOfWeekdim greetingMessage = greeting & " Here in Huston it is: " & weekDayEnd 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 是一種將服務器代碼嵌入在網頁中的簡單的編程語法。

Razor 語法是基于 ASP.NET 框架,專門用于創建 Web 應用程序的部分 Microsoft.NET 框架。

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

Razor 網頁可以被描述成帶以下兩種類型內容的 HTML 網頁: HTML 內容和 Razor 代碼。

當服務器讀取頁面時,它首先運行 Razor 代碼,然后再發送 HTML 頁面到瀏覽器。在服務器上執行的代碼能夠執行一些在瀏覽器上不能完成的任務,比如,訪問服務器數據庫。服務器代碼能創建動態的 HTML 內容,然后發送到瀏覽器。從瀏覽器上看,服務器代碼生成的 HTML 與靜態的 HTML 內容沒有什么不同。

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

使用對象

服務器編碼往往涉及到對象。

"Date" 對象是一個典型的內置的 ASP.NET 對象,但對象也可以是自定義的,一個網頁,一個文本框,一個文件,一個數據庫記錄,等等。

對象有用于執行的方法。一個數據庫記錄可能有一個 "Save" 方法,一個圖像對象可能有一個 "Rotate" 方法,一個電子郵件對象可能有一個 "Send" 方法,等等。

對象也有用于描述各自特點的屬性。一個數據庫記錄可能有 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>

輸出

NAME value
Day 17
Hour 21
Minute 6
Second 38

If 和 Else條件

動態網頁的一個重要特點是,您可以根據條件決定做什么。

做到這一點的常用方法是使用 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

讀取用戶輸入

動態網頁的另一個重要特點是,您可以讀取用戶輸入。

輸入是通過 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>

輸出

以上就是詳解ASP.NET Razor 語法的詳細內容,更多關于ASP.NET Razor 語法的資料請關注真格學網其它相關文章!

話說你@后面其實跟的應該是變量,然后你給變量賦值,我覺得是系統把0和1當成了數字,所以會出現這樣的問題,你把0和1換成string類型的變量即可內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • 詳解asp.net mvc3:razor的@:和語法
  • asp.net mvc學習教程之razor語法
  • asp.net core razor 頁面路由詳解
  • asp.net mvc4 razor模板簡易分頁效果
  • asp.net razor模板引擎中輸出html的兩種方式
  • asp.net mvc使用razorengine解析模板生成靜態頁
  • 為gridview的行添加鼠標經過、點擊事件的小例子
  • asp.net mvc學習筆記
  • .net中moongodb的簡單調用圖文教程
  • asp.net開源導入導出庫magicodes.ie完成csv導入導出的方法
  • 驗證一個asp.net應用程序和頁面的生命周期的實現代碼
  • 小心!asp.net網站發布時的那些坑
  • 安裝.net framework進度條卡住不動的解決方案(推薦)
  • asp.net core razor 頁面路由詳解
  • silverlight用webclient大文件上傳的實例代碼
  • 解決asp.net上傳文件超過了最大請求長度的問題
  • asp.net razor 想做個簡單的登錄
  • asp.net Razor 不懂怎么用啊
  • asp.net razor怎么去得到session對象中的值
  • asp.net mvc 如何在razor頁面顯示 model 的 [description] 屬性
  • 在ASP.NET MVC Razor模式里面提交表單數據時,都有一個type=submit的input按鈕,
  • ASP.NET的 Razor引擎和JavaScript是一種什么關系?
  • ASP.NET的 Razor引擎和JavaScript是一種什么關系?
  • ASP.NET MVC Razor引擎下圖片不顯示
  • 目前看來 ASP.NET 中的 Razor (CSHTML) 語言是雞肋還是奇葩?
  • Asp.net MVC3.0用Razor視圖如何實現URL偽靜態?真誠求教。
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全基礎應用實用技巧自學過程首頁asp.net詳解asp.net mvc3:razor的@:和語法asp.net mvc學習教程之razor語法asp.net core razor 頁面路由詳解asp.net mvc4 razor模板簡易分頁效果asp.net razor模板引擎中輸出html的兩種方式asp.net mvc使用razorengine解析模板生成靜態頁為gridview的行添加鼠標經過、點擊事件的小例子asp.net mvc學習筆記.net中moongodb的簡單調用圖文教程asp.net開源導入導出庫magicodes.ie完成csv導入導出的方法驗證一個asp.net應用程序和頁面的生命周期的實現代碼小心!asp.net網站發布時的那些坑安裝.net framework進度條卡住不動的解決方案(推薦)asp.net core razor 頁面路由詳解silverlight用webclient大文件上傳的實例代碼解決asp.net上傳文件超過了最大請求長度的問題java正則表達式 pattern和matche未將對象引用設置到對象的實例 (asp.net(c#)網頁跳轉七種方法小結未能加載文件或程序集“xxx”或它asp.net“服務器應用程序不可用”asp.net中的幾種彈出框提示基本實asp.net gridview 72般絕技asp.net生成excel并導出下載五種asp.net對路徑"xxxxx"asp.net漢字轉拼音和獲取漢字首字form身份驗證通過后,只能用formsauthentwpf的數據綁定詳細介紹asp.net mvc5網站開發我的咨詢列表及添加ajax throws sys.webforms.pagerequestma.net微信開發之pc 端微信掃碼注冊和登錄功asp.net core mvc如何實現運行時動態定義asp.net微信公眾號查看粉絲信息接口asp.net實現圖片自動添加水印visual studio 2017設置版權的方法3分鐘快速學會在asp.net core mvc中如何使
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载