Je suis nouveau à MVC3, j'ai un plusieurs modèles comme BussinessDetails
, ContactPerson
, ServiceArea
, Address
et beaucoup plus de modèles. J'ai une seule page de vue où les pages vues partagées aiment Contacts
, BusinessDetails
, Address
, ServiceArea
etc.ces sont tous dans des onglets. Ils ont leurs propres modèles.Comment modifier plusieurs modèles dans une seule vue Razor
Mon problème est de savoir comment éditer plusieurs modèles dans une même page d'édition. Avant d'envoyer ce post je prends l'aide de l'exemple MVC3 "Music Store" mais il y a seulement un modèle ALBUM
et ils donnent l'opération d'édition pour un modèle s'il y a un ou plusieurs modèle comment je modifierai dans la même page de vue.
J'ai déjà créé une classe de spécification d'entreprise parente. Ceci est de MVC « Music Store »
public ActionResult Edit(int id) {
Album album = db.Albums.Find(id);
ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
return View(album);
}
[HttpPost]
public ActionResult Edit(Album album) {
if (ModelState.IsValid) {
db.Entry(album).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
return View(album);
}
En HTTP POST
il n'y a que sur le modèle ALBUM
s'il y a plus de modèles comment je suis effectuer une opération d'édition sur plusieurs modèles et vue?
ce que l'écriture im après si (ModelState. IsValid) { pour éditer un modèle particulier. – user1196392
@ user1196392 Ne pouvez-vous pas appeler quelque chose comme 'Save' sur vos classes de données? Quelque chose comme 'model.Album.Save();' pour chaque type dans le modèle. – mattytommo