ASP.NET Razor


  cshtml是什么文件?它跟.html有什么關系?

cshtml是Razor在c#中文件的拓展名,要學習Razor,先了解以下幾個問題:

 

1:什么是ASP?

•ASP:Active Server Pages(動態服務器頁面)

是MicroSoft公司開發的服務器端腳本環境,可用來創建動態交互式網頁並建立強大的web應用程序。當服務器收到對ASP文件的請求時,它會處理包含在用於構建發送給瀏覽器的HTML(Hyper Text Markup Language,超文本置標語言)網頁文件中的服務器端腳本代碼。除服務器端腳本代碼外,ASP文件也可以包含文本、HTML(包括相關的客戶端腳本)和com組件調用。

•ASP 是在 IIS 中運行的程序

•ASP 文件與 HTML 文件類似

•ASP 文件可包含文本、HTML、XML 和腳本

•ASP 文件中的腳本可在服務器上執行

•ASP 文件的文件擴展名是 ".asp"

•ASP與HTML的區別:

當瀏覽器請求某個 HTML 文件時,服務器會返回這個文件;

當瀏覽器請求某個 ASP 文件時,IIS 將這個請求傳遞給 ASP 引擎。ASP 引擎會逐行地讀取這個 ASP 文件,並執行文件中的腳本。最后,ASP 文件將以純 HTML 的形式返回到瀏覽器。

2:什么是ASP.NET?

•ASP.NET 是一個使用 HTML、CSS、JavaScript 和服務器腳本創建網頁和網站的開發框架。

•ASP.NET 是一種服務端腳本技術:能夠使(嵌入網頁中的)腳本由Internetserver運行。

•ASP.NET 支持三種不同的開發模式:
Web Pages(Web 頁面)、MVC(Model View Controller 模型-視圖-控制器)、Web Forms(Web 窗體)

•ASP.NET 與經典 ASP 是不兼容,但 ASP.NET 可能包括經典 ASP。

•ASP.NET 具有更好的語言支持,有一大套的用戶控件和基於 XML 的組件,並集成了用戶身份驗證。

•ASP.NET 頁面的擴展名是 .aspx ,通常是用 VB (Visual Basic) 或者 C# (C sharp) 編寫。

•在 ASP.NET 中的控件可以用不同的語言(包括 C++ 和 Java)編寫。

 


 

 

好了,現在可以討論一下什么是ASP.NET Razor了?

1:概述:

•Razor 是一種同意您向網頁中嵌入基於server的代碼(Visual Basic和 C#)的標記語法。就像是一種server代碼和HTML代碼混寫的代碼模板。類似於沒有后置代碼的.aspx文件。

•Razor支持兩種文件類型,各自是.cshtml和.vbhtml,當中.cshtml 的server代碼使用了c#的語法,.vbhtml的server代碼使用了vb.net的語法。  

•Razor的發布是和MVC一起的,作為MVC的視圖模板引擎。

•在ASP.NET MVC模式中,我們的視圖引擎選擇有兩種:ASPX(ASP.NET),Razor。

•工作:當網頁被寫入瀏覽器時,基於server的代碼可以創建動態內容。在網頁載入時,server在向瀏覽器返回頁面之前,會運行頁面內的基於server代碼。因為是在server上運行。這樣的代碼能運行復雜的任務。比方訪問數據庫。


2:語法:

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

 1 <html>
 2 <body>
 3 <!-- Single statement block 單語句塊--> 
 4 @{ var myMessage = "Hello World"; }
 5 <!-- Inline expression or variable 內聯表達式或變量-->
 6 <p>The value of myMessage is: @myMessage</p> 
 7 <!-- Multi-statement block 多語句塊-->
 8 @{
 9 var greeting = "Welcome to our site!";
10 var weekDay = DateTime.Now.DayOfWeek;
11 var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
12 }
13 <p>The greeting is: @greetingMessage</p>
14 </body>
15 </html>

補充:@{}就類似於.aspx中的<%%>

 

總結:Razor這種標記語法就是將server代碼嵌入到html里面,在ASP.NET MVC中使用。

在項目中的使用之后再整理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM