MVC中的_viewstart.cshtml(沒有設置Layout卻引用了布局)


今天Home視圖中新增了一個視圖,因為不需要設置Layout就沒與管他,但是運行起來一看,自動引用了布局,分析了半天 也沒看出是哪的錯誤?

后來嘗試着在area中增加了一個同樣的視圖就沒有問題,比較這兩個文件夾后發現,Home所在的views文件夾下多了一個_viewstart.cshtml,

打開一看,里面就只有一句代碼,如下:

    

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

好吧,瞬間明白了!

 

從網上查了查,了解到這個_viewstart.cshtml是在呈現view時運行的,可以理解為,在加載view之前先運行這個,這個里面設置了layout,所以我的頁面中就引用了布局。

問題找到了,解決辦法也很簡單,在我新增的頁面中設置layout=null,如下

    

@{
    Layout = null;
}

 

 PS:參考文章  

ASP.NET MVC 3.0+ 中“_ViewStart.cshtml”文件的作用


免責聲明!

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



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