0
我試圖根據來自外部的情況從控制器渲染PartialView或View。 Web站點無法使用StackOverflowException發佈數據。從控制器渲染局部視圖或視圖
控制器代碼:
public ActionResult Login(bool partial = false)
{
if (partial)
{
ViewBag.Partial = true;
return PartialView();
}
return View();
}
[HttpPost]
public ActionResult Login(UserViewModel userViewModel)
{
if (!ModelState.IsValid)
return View(userViewModel);
// some authrorization staff
}
Login.cshtml:
@using SK.DDP.ImageGallery.Helpers
@model SK.DDP.ViewModels.UserViewModel
@{
ViewBag.Title = "Login";
if (ViewBag.Partial != null)
{
Layout = string.Empty;
}
}
@*Some form staff*@
AuthorizationInfo.cshtml:
@{
Layout = string.Empty;
}
@{ Html.RenderAction("Login", "Authorization"); }
模板:
@*Some dif for form requested by menu*@
@{ Html.RenderAction("AuthorizationInfo", "Authorization"); }
我有一個網站,當用戶點擊菜單時出現登錄頁面和登錄彈出窗口,所以我想重複使用控制器和代碼的相同動作,並且應用程序繼續失敗,出現stackoverflow異常。
謝謝。
'AuthorizationInfo.cshtml'和Template如何與問題相關?並且您不需要在視圖中使用if(ViewBag.Partial!= null)'(返回不使用佈局的PartialView) –
如果返回的actionresult是不需要設置Layout = string.Empty部分,你能證實這一點嗎? – Monah
堆棧溢出異常?尋找一些遞歸調用。可能是一種行爲方法不斷地稱它爲自我? – Shyju