亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MVC3中_ViewStart.cshtml的一些事

發布時間:2020-06-11 11:27:06 來源:網絡 閱讀:11404 作者:cnn237111 欄目:編程語言

MVC3中,使用Razor模板引擎的話,會自動生成一個_ViewStart.cshtml文件。

很多人把這個文件當成類似Webform中的Master模板文件,其實這個_ViewStart.cshtml文件和模板文件沒有任何關系,要說有關系,也僅僅是默認生成的時候,里面有一個語句

Layout = "~/Views/Shared/_Layout.cshtml";

其實這句話才是和模板有點關系的。

事實上,_Viewstart.cshtml的作用是在呈現View文件的時候的啟動文件,無論哪個視圖,當你要呈現這個視圖的之前,_Viewstart.cshtml中的代碼總會被先執行,正如把它的名字命名為_Viewstart哪樣,這是Razor引擎故意設計的,因此如果項目中所有的視圖都要包含某些公共邏輯,比如設置Layout = "~/Views/Shared/_Layout.cshtml";這樣的語句,只需在_Viewstart.cshtml寫一遍就可以了。

注意,是在View被呈現的時候才會調用_Viewstart.cshtml,如果一個View是按照PartialView的方式輸出的,則不會觸發_Viewstart.cshtml中的代碼。

舉個例子。

假設在_Viewstart.cshtml中有如下代碼: 

  1. @{ 
  2.     Layout = "~/Views/Shared/_Layout.cshtml"
  3.     @Html.Raw("Hello") 
  4. <div>World</div> 

 --------------------------------------

訪問Home/ViewUserControl1調用的Action方法如下: 

  1. public ActionResult ViewUserControl1() 
  2.    return View(); 

 此方法返回ViewUserControl1視圖。注意:當View方法參數為空的時候,默認是使用當前的action名字,即會去找ViewUserControl1.cshtml的View。

MVC3中_ViewStart.cshtml的一些事

如果方法改為如下: 

  1. public ActionResult ViewUserControl1() 
  2.         { 
  3.            return PartialView(); 
  4.         } 

則_Viewstart.cshtml中的代碼不會被執行,因此寫的Layout = "~/Views/Shared/_Layout.cshtml";之類的代碼也不會被執行,返回的就是單純的一個Partial View。

MVC3中_ViewStart.cshtml的一些事

如果在View的Home目錄下也有一個同名的_ViewStart.cshtml文件,那么這個_ViewStart也會被調用,但是會最先調用的還是最外面的_ViewStart,然后再是Home目錄下的_ViewStart。

MVC3中_ViewStart.cshtml的一些事

例如:Home目錄下的_ViewStart.cshtml文件內容為: 

  1. @{ 
  2.     @Html.Raw("<b>_ViewStart.cshtml in home</b>"); 

則當呈現ViewUserControl1得到的結果如下:

MVC3中_ViewStart.cshtml的一些事

至于_ViewStart.cshtml為何前面要加'_'符號,可以參考文章http://cnn237111.blog.51cto.com/2359144/814704

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳江市| 顺昌县| 察隅县| 栾城县| 台中市| 商南县| 进贤县| 葫芦岛市| 麻栗坡县| 那坡县| 寻乌县| 石城县| 白山市| 泽库县| 舒城县| 海口市| 两当县| 扎鲁特旗| 冷水江市| 岗巴县| 姚安县| 石河子市| 兴城市| 芜湖市| 砀山县| 阜南县| 长治县| 博乐市| 晴隆县| 南漳县| 宝山区| 东乌| 罗山县| 启东市| 台东市| 韶关市| 辽宁省| 淳化县| 宁国市| 台江县| 清水县|