Steg 5 behöver du inte göra om du redan har all information på sidan. Är det så att någon information inte finns, så måste du hämta upp kunden igen, göra förändringarna och sedan spara ner den.
Så iprincip så måste man gå igenom alla dessa steg på något sätt för att vara garanterad att kunder ser ut som du förväntar dig.
så här ser min kod ut i ASP.NET MVC för att göra samma sak som du är uteefter:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Information(Guid? id)
{
Player player = null;
if (id != null && id.HasValue && id.Value != Guid.Empty)
player = _playerRepository.GetPlayerByIdentifier(id.Value);
return View(player);
}
[AcceptVerbs(HttpVerbs.Post)]
[ValidateModelAttribute(typeof(FormPlayer))]
public ActionResult Information([Bind(Prefix = "")] FormPlayer formPlayer)
{
if (!ModelState.IsValid)
return View();
Player model = new PlayerMapper().MapToModel(formPlayer);
_playerRepository.Save(model);
return RedirectToAction<Shared.SharedController>(m => m.Success());
}
Det är den koden som finns i min controller, sedan så finns det ju givetviss en del bakom liggande klasser för att validera inputdata och mappa data mellan min presentationsmodell och min domänmodell... Mappandet från kontrollerna på sidan till min presentationsmodell sköter ASP.NET MVC till mig om man använder samma namn både i presentationsmodellen och id:et på kontrollen. Enkelt och smidigt.
- M
