中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

阳朔县| 隆安县| 墨竹工卡县| 宜宾市| 分宜县| 隆林| 天等县| 长岭县| 玉田县| 明水县| 丰都县| 乌什县| 东台市| 卫辉市| 武功县| 高雄市| 手游| 敖汉旗| 阳泉市| 永年县| 斗六市| 甘德县| 天门市| 永丰县| 张家口市| 太仓市| 无棣县| 桦川县| 景洪市| 资溪县| 洛南县| 和平县| 康乐县| 包头市| 鹤壁市| 措勤县| 克东县| 公安县| 麟游县| 彭阳县| 铜川市|