ASP.NET MVC3 在_ViewStart設定Layout後用RenderAction的注意事項

在MVC3中,Views資料夾下的_ViewStart.cshtml是可以設定預設的Layout的,也就是說,凡是有在頁面上沒有特別指定Layout的話,
就會預設使用此設定。
此種情況最常發生在呼叫 Html.Action 或是利用Ajax呼叫某個Controller與Action後返回頁面時,容易疏忽
了頁面會預設使用_ViewStart中預設的Layout。
解決辦法大概有下列幾種:
1.在Controllers\xxx.cs程序处理时,Action return 時,使用return PartialView();  PartialViewResult是不會載入Layout的。
  不再使用return View();
2.在ChildAction 回傳的View中,明確的指定這個頁面的Layout為null或是空字串。即每个页面指定
@{
Layout = null;
}
3.在_ViewStart中指定Layout,但這應該是下下策了。可視情況使用此方法。

你可能感兴趣的:(ASP.NET MVC3 在_ViewStart設定Layout後用RenderAction的注意事項)