今天Home視圖中新增了一個視圖,因為不需要設置Layout就沒與管他,但是運行起來一看,自動引用了布局,分析了半天 也沒看出是哪的錯誤?
后來嘗試着在area中增加了一個同樣的視圖就沒有問題,比較這兩個文件夾后發現,Home所在的views文件夾下多了一個_viewstart.cshtml,
打開一看,里面就只有一句代碼,如下:
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
好吧,瞬間明白了!
從網上查了查,了解到這個_viewstart.cshtml是在呈現view時運行的,可以理解為,在加載view之前先運行這個,這個里面設置了layout,所以我的頁面中就引用了布局。
問題找到了,解決辦法也很簡單,在我新增的頁面中設置layout=null,如下
@{ Layout = null; }
PS:參考文章