在MVC回发期间保留的值



假设我有一个具有验证的模型

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期间提交给服务器的名称和值对的集合。它还包含每个提交值的错误消息集合。

最新更新