Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mvc retain values after postback

I have a simple TestController class and User model:

public class TestController : Controller
{
    public ActionResult TestAction()
    {
        return View();
    }

    [HttpPost]
    public ActionResult TestAction(User user)
    {
        return View();
    }
}

public class User
{
    public int Id { get; set; }

    public string Name { get; set; }

    public int Age { get; set; }
}

This is my form:

enter image description here

As far as I know MVC is stateless and it does not have a viewstate concept. But after posting the data to my controller and when I return the view, all my data is there. I expect empty fields but they are all filled with the posted data. I could not understand how MVC knows the values after postback?

like image 760
Omer Avatar asked Oct 29 '25 16:10

Omer


1 Answers

You Need to use ModelState.Clear()

public class TestController : Controller
{
    public ActionResult TestAction()
    {
        return View();
    }

    [HttpPost]
    public ActionResult TestAction(User user)
    {
        ModelState.Clear()
        return View();
    }
}
like image 147
Dharmesh Kumar Laxkar Avatar answered Oct 31 '25 05:10

Dharmesh Kumar Laxkar