我有一個用於編輯演出的窗體。.net mvc和用表格編輯數據
初始控制器操作稱爲「編輯」。
形式職位,以所謂的「更新」
所以,一旦形式已經發布,我用它使用bindingContext.ModelState.AddModelError來驗證消息添加到的ModelState一個定製ModelBinder的第二控制器動作
更新copntroller動作看起來這樣:
如果ModelBinder的有錯誤的異常將被更新模型被拋出。
這意味着調用RedirectToAction(「Edit」),以便調用原始的「Edit」控制器操作。
這意味着我不會看到我的驗證消息,用戶添加到表單中的任何數據都將重置爲原始值!
我應該如何處理這個問題?
我已經包含下面的「編輯」行動:
[AcceptVerbs("GET")]
public ActionResult Edit(Guid id)
{
Gig gig = GigManager.GetByID(id);
SelectList days = CreateDays(1, 31, 1, gig.StartDate.Day);
ViewData["day"] = days;
SelectList months = CreateMonths(1, 12, 1, gig.StartDate.Month);
ViewData["month"] = months;
SelectList years = CreateYears(DateTime.Now.Year, DateTime.Now.Year + 10, 1, gig.StartDate.Year);
ViewData["year"] = years;
string bandNames ="";
string bandIds = "";
foreach(Act act in gig.Acts)
{
bandNames += act.Name.Trim() + ", ";
if (act.Artist != null)
{
bandIds += act.Artist.ID + ";";
}
}
ViewData["Bands"] = bandNames;
ViewData["BandIds"] = bandIds;
return View(gig);
}
不過,我不明白個