添加 ModelState.AddModelError 而不重新加载页面 (mvc4)
本文关键字:加载 mvc4 新加载 AddModelError ModelState 添加 | 更新日期: 2023-09-27 18:31:41
我正在使用MVC4,我的控制器中有2个方法:
获取方法
public ActionResult Create()
{
var vm = new User
{
Client= new Catastro_Cliente()
Genre = ClienteRepository.GetGenres(),
Type= ClienteRepository.GetTypes()
};
ViewBag.Genre = new SelectList(vm.Genre, "IdGenre", "Genre");
ViewBag.Type= new SelectList(vm.Type, "IdType", "Type");
return View(vm);
}
后法
[HttpPost]
public ActionResult CrearUsuario(Catastro_Cliente client)
{
if(Validator(client.document))
{
ModelState.AddModelError("NoDocument", "The document is invalid or not registered");
}
if(ModelState.IsValid)
{
return View();
}
}
基本上,我正在尝试保留用户在发布方法之前填写的所有数据,
我尝试了return RedirectToAction("Create");
但它总是刷新页面。
调用 View
时,您必须传回已发布的模型。您需要的是:
[HttpPost]
public ActionResult CrearUsuario(Catastro_Cliente client)
{
if(Validator(client.document))
{
ModelState.AddModelError("NoDocument", "The document is invalid or not registered");
}
if(ModelState.IsValid)
{
// save to database of whatever
// this is a successful response
return RedirectToAction("Index");
}
// There's some error so return view with posted data:
return View(client);
}