2012-10-29 84 views
0

我有一個_ViewStart.cshtml在我的主視圖文件夾中使用下面的代碼。ASP.Net MVC 4多個佈局4

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

在我的管理區的視圖文件夾我有一個_ViewStart.cshtml與此代碼

@{ 
    Layout = Request.IsAjaxRequest() ? null : "~/Areas/Admin/Views/Shared/_Layout.cshtml"; 
} 

我把一個斷點上的兩行代碼,當我進入管理區我可以看到它擊中該文件夾中的視圖,而不是主文件夾中的視圖。即使它達到了該代碼,它仍然只使用主佈局。

+0

您能否確認管理員佈局的內容與默認的內容不同?你對斷點的觀察是正確的。 – 2012-10-29 22:36:41

+0

是的,爲了確保我不會混淆他們,我在他們各自的佈局上寫了大字母「這是主佈局」和「這是管理員」。 – Jhorra

+0

那麼,是'Request.IsAjaxRequest()'null?我的語言也有點困惑。什麼是「主視圖文件夾」?你是不是在一個地區? –

回答

1

起初我沒有看到它,但是我測試的具體視圖是指定了錯誤的佈局,所以不管我放在其他地方的什麼東西都覆蓋它。