0
所以我有一個從SurfaceController派生的控制器。Umbraco和返回PartialView與無效的模型
我有局部視圖。
當用戶點擊提交時,它發佈到控制器方法。此方法將對模型和其他業務邏輯進行一些驗證。
如果失敗,我想將模型返回到顯示錯誤消息的局部視圖。在這種情況下,我使用ModelState.AddModelError將錯誤添加到模型狀態。
我這樣做,並且我在partialview區域看不到所有錯誤。
任何想法爲什麼?我不明白爲什麼在做時:
return PartialViewResult(model);
甚至:
返回CurrentUmbracoPage();
它不顯示錯誤。
這裏是我使用的代碼...
[HttpPost]
public PartialViewResult Login(UserLogin ReceivedModel)
{
if (ModelState.IsValid == false)
{
return PartialView(ReceivedModel);
}
try
{
var returnedData = someClass.DoSomething(ReceivedModel);
if (!returnedData.Valid)
{
ModelState.AddModelError("Problem....");
return PartialView(ReceivedModel);
}
}
catch (Exception ex)
{
ModelState.AddModelError(string.Empty, ex);
return CurrentUmbracoPage();
}
}
所以,當我回來PartialView(ReceivedModel)(或返回CurrentUmbracoPage()),它就會顯示該頁面,但不顯示錯誤。
有和沒有嘗試過。最終找出了問題。基本上這個視圖不是呈現爲Html.Partial,而是呈現爲Html.Action。這造成了問題。 –