假设我有一个具有验证的模型
public class LoginModel
{
[Required(ErrorMessage="ID not entered")]
[StringLength(5,ErrorMessage = "Length should be 5")]
public string Id { get; set; }
}
在视图页我有一个文本框。当验证失败时。控制器返回到视图页并显示错误信息。
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(LoginModel lg)
{
if(ModelState.IsValid)
{
return RedirectToAction("Index", "Home");
}
return View();
}
但文本框中包含前面的值。它如何保持价值?有什么办法可以避免吗?
谢谢
要删除数据,请尝试使用rattlemouse发布的链接-
ModelState.Clear()
或者用
手动 [HttpPost]
public ActionResult Login(LoginModel lg)
{
if(ModelState.IsValid)
{
return RedirectToAction("Index", "Home");
}
else{
lg.Id = string.Empty;
return View(lg);
}
}
清除ModelState并返回没有模型的视图。
ModelState.Clear();
return View();
状态
控制器。状态属性
ModelState是控制器的一个属性,可以从继承了System.Web.Mvc.Controller的类中访问。ModelState表示在POST期间提交给服务器的名称和值对的集合。它还包含每个提交值的错误消息集合。