Soy nuevo en MVC3, tengo varios modelos como BussinessDetails
, ContactPerson
, ServiceArea
, Address
y muchos más modelos. Tengo una página de vista única donde las páginas de vista compartida como Contacts
, BusinessDetails
, Address
, ServiceArea
etc. están todas en pestañas. Ellos tienen sus propios modelos.Cómo editar varios modelos en una sola Vista Razor
Mi problema es que cómo editar varios modelos en una misma página de vista de edición. Antes de enviar esta publicación, tomo la ayuda del ejemplo MVC3 "Tienda de música" pero solo hay un modelo ALBUM
y dan operación de edición para un modelo si hay uno o más modelos que debo editar en la misma página de vista.
Ya he hecho una clase de especificación de negocio principal. Esto es de MVC "tienda de música"
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
sólo existe en el modelo ALBUM
si hay más modelos como soy realizar la operación de edición en varios modelos y punto de vista?
lo que estoy escribiendo después si (ModelState. IsValid) { para editar un modelo en particular. – user1196392
@ user1196392 ¿No puedes llamar algo como 'Guardar' en tus clases de datos? Algo así como 'modelo.Album.Save();' para cada tipo en el modelo. – mattytommo