MVC5-5 Razor引擎及視圖結構


View結構

其實給我們提供了官方的MvcDemo,就是在我們直接去新建一個不為空的MVC項目。

image

 

這里就是一個MVC的Demo了,可以看一下這個Demo中View的結構是什么

image

上圖可以發現,有一個Shared(共享)文件夾,先從這個文件夾看起,下圖可以看到,里面分別有_Layout.cshtml,_LoginPartial.cshtml,Error.cshtml以有Lockout.cshtml。

  • _Layout.cshtml 這個視圖相當與母版頁,把網站共有的部分放在這個view中。其它的視圖就不需要再去寫重復的代碼,比如頂部導航與底部信息
  • _loginPartial.cshtml  從名字可以看出來 登錄分布頁。在_layout中放有共有的部分,但是如果代碼太多也會影響到閱讀性,使用分布頁面。可以使得代碼更加簡潔,分布頁可以使用 Html.Partial去引用
  • Error.cshtml 這個就很簡單了,是一個錯誤頁面。其它view都將使用Error.cshtml做錯誤頁面展示
  • Lockout.cshtml 這個沒什么特別的,僅是一個視圖而已。

image

 

在Views文件夾還可以發現有一個叫做_ViewStart的視圖,通過名字就可以清楚的看到,這個視圖先與其它的視圖執行。

那么_viewstart有什么用呢? 下面有這個一個場景,我們的視圖需要達到一定的條件才可以去使用母版頁反之不用。就可以使用_ViewStart進行 統一設置 下圖我簡單寫了一下,如果隨機數是偶數,那么使用母版頁。奇數則不用

image

 

 

Razor簡單語法

在還沒有Razor的時候,有很多其它的視圖引擎。但是Razor出現的時候,其它的就慢慢的消失了。可見其強大。

Razor可以讓我們在視圖中去寫C#代碼。簡單的截一張圖,對下面的Razor語法進行分析

image

  • @using 引用程序集,這個應該沒有什么疑惑了
  • @{} 包含塊,可以在里面寫一些邏輯代碼,圖中也可以看到進行了if判斷
  • @xxxx 這里xxxx可以是一個變量。在開發中常用@ViewBag.xxx,這些寫法是把這個變量值顯示在這個位置。
  • @Html.xxx() 可以看到很多這個的代碼,這種是進行調用我們后端類的方法並把返回值顯示在這個位置。Html全名HtmlHelper,還有AjaxHelper。是微軟為我們封裝的一種常用的方法。比如下拉框、ajax提交等
  • 其實我們還會經常在視圖頁看到@model,我們可以在Controller中返回Model。也是一種數據傳輸的方法

本文就到這里,下一篇講Razor中的幫助類、HtmlHelper、AjaxHelper


免責聲明!

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



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