我創建了一個asp mvc3項目,我想有一個不同的_Layout.cshtml取決於選擇哪個控制器。這是因爲在控制器1中它具有2個按鈕,控制器2將有3個,而控制器3將有4個。每個控制器都是針對特定類型的用戶的,因此它取決於登錄。指定不同的_Layout.cshtml取決於控制器
如何將控制器及其視圖鏈接到另一個Layout.cshtml,現在有一個佈局,它位於共享文件夾下。
謝謝!
我創建了一個asp mvc3項目,我想有一個不同的_Layout.cshtml取決於選擇哪個控制器。這是因爲在控制器1中它具有2個按鈕,控制器2將有3個,而控制器3將有4個。每個控制器都是針對特定類型的用戶的,因此它取決於登錄。指定不同的_Layout.cshtml取決於控制器
如何將控制器及其視圖鏈接到另一個Layout.cshtml,現在有一個佈局,它位於共享文件夾下。
謝謝!
觀應確定的佈局,而不是控制。
控制器應該確定返回的視圖。
然後在您的視圖的頂部,你可以指定佈局。 你可以添加一個if語句圍繞它基於數據
@{
if(ViewBag.someValue)
Layout = "~/Views/Shared/_Layout.cshtml";
else
Layout = "~/Views/Shared/_otherLayout.cshtml";
}
在自其他一個點更改它有點過時,並與MVC 5,我知道你有沒有括號的一些問題。 如果你想使用視圖來做邏輯,那麼這裏是一個更完整的答案。
控制器
public ActionResult Index()
{
ViewBag.Admin = 1;
return View();
}
查看
@{
if (ViewBag.Admin == 1)
{
Layout = "~/Views/Shared/_AdminLayout.cshtml";
}
else
{
Layout = "~/Views/Shared/_Layout.cshtml";
}
}
1爲一種簡單和有效的解決方案。 – Saxman 2011-04-07 01:59:41