Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

View not updating after post

I have a controller method CreateOrUpdate, this method is supposed to save the car to the database and then return as normal.

public ActionResult CreateOrUpdate(int ID = 0) {     Car car = new Car(ID); }   [HttpPost] public ActionResult CreateOrUpdate(Car car) {        car.Save();        return View(car); } 

In the theCar.Save() method, i set the id for the car, with whatever the id will be in the database after the car is saved (When doing an insert I use SCOPE_IDENTITY(), the save method works well, and if i debug and watch the values for car after the Save() is called, the id is correct. But when the View is rendered the ID is 0 in the view.

Could anyone please help me,and tell me why this would happen. Am I not suppose to change the Model for the view in the HTTP POST method ? Should i Rather redirect to the original CreateOrUpdate() method if the save was successful.

like image 923
Captain0 Avatar asked Mar 10 '12 09:03

Captain0


Video Answer


1 Answers

it should be the ModelState problem. if you use Htmlhelper to Display id value. Default HtmlHelper display ModelState value not Model. Try display model value in view

<td>     @Model.id </td> 

or Clean ModelState Value in controller

ModelState.Clear(); 

or reset id value after SaveChange.

theCar.Save(); ModelState["id"].Value = theCar.id return View(theCar); 

Reset the value of textarea after form submission

like image 53
Mason Avatar answered Sep 26 '22 23:09

Mason