Jestem nowy w MVC3, mam wiele modeli takich jak BussinessDetails
, ContactPerson
, ServiceArea
, Address
i wiele innych modeli. Mam stronę pojedynczego widoku, w której udostępnione strony widokowe, takie jak Contacts
, BusinessDetails
,, ServiceArea
itd. Są w kartach. Mają tam własne modele.Jak edytować wiele modeli w jednym Razor View
Mój problem polega na tym, jak edytować wiele modeli na tej samej stronie widoku edycji. Przed wysłaniem tego posta korzystam z przykładu "Music Store" MVC3, ale jest tylko jeden model ALBUM
i dają one operację edycji dla jednego modelu, jeśli istnieje jeden lub więcej modeli, w jaki sposób będę edytować na tej samej stronie widoku.
Mam już utworzoną klasę specyfikacji firmy macierzystej. Jest to z 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);
}
W HTTP POST
jest wyłącznie w modelach ALBUM
jeśli jest więcej modeli jak mam wykonać operację edycji na wielu modelach i zobaczyć?
co im pisanie po if (ModelState. IsValid) { , aby edytować konkretny model. – user1196392
@ user1196392 Nie możesz wywołać czegoś takiego jak "Zapisz" na swoich klasach danych? Coś jak 'model.Album.Save();' dla każdego typu w modelu. – mattytommo