【发布时间】:2010-07-20 10:49:07
【问题描述】:
如果我从详细信息页面开始:
http:\\www.mysite.com\App\Detail
我有一个名为 Update 的控制器操作,它通常会将 redirectToAction 调用回 detail 页面。但我在验证中发现了一个错误,我需要在重定向之前返回(以避免丢失我的所有 ModelState)。这是我的控制器代码:
public override ActionResult Update(Application entity)
{
base.Update(entity);
if (!ModelState.IsValid)
{
return View("Detail", GetAppViewModel(entity.Id));
}
return RedirectToAction("Detail", new { id = entity.Id })
但现在我看到带有验证错误消息的视图(因为我正在使用 HTML.ValidationSummary() ),但 url 看起来像这样:
http:\\www.mysite.com\App\Update
无论如何我可以避免 URL 改变而无需将 modelstate 放入一些临时变量中?这里是否有最佳实践,因为我见过的唯一示例是在调用 redirectToAction 之间将 ModelState 放在一些 tempdata 中。
【问题讨论】:
标签: c# asp.net-mvc