-1
我試圖將主控制器的名稱傳遞給文章控制器,我試圖分配一個_layout頁面。如何將一個控制器的名稱傳遞給另一個控制器ASP.NET MVC 5
以下是我試過的代碼。
public class HomeController : Controller
{
public ActionResult Index()
{
TempData["Ctrl"] = "Home";
}
}
public class ArticleController : Controller
{
public ActionResult Index()
{
if (TempData["Ctrl"] != null)
{
return View("Index", "~/Views/Shared/_Layout.cshtml", articles);
}
return View("Index", "~/Views/Shared/_otherLayout.cshtml", articles);
}
}
的問題是我指定每個TempData
值和Home控制器的每個方法(我不想做),因爲我失去了TempData
值。我試圖在家庭控制器的構造函數中分配值,但沒有運氣。
任何人都可以請幫助我或指出我在正確的方向感謝。
什麼是你的方案分配你的數據?當你打電話給方法時我無法得到。你不想把這個值保存到Session中嗎? –
'Session [「Ctrl」]'可以跨頁請求工作,我更喜歡會話狀態機制,而不是使用'TempData',它在請求 - 響應序列的某個點上失去了它的值。 –
您可以使用會話變量來保存值,並且您只需要爲一個會話設置一次 –