Tôi mới dùng MVC3, tôi có nhiều kiểu như BussinessDetails
, ContactPerson
, ServiceArea
, Address
và nhiều kiểu máy khác. Tôi có một trang xem duy nhất ở các trang xem được chia sẻ như Contacts
, BusinessDetails
, Address
, ServiceArea
v.v. tất cả đều nằm trong các tab. Họ có những mô hình riêng.Cách chỉnh sửa nhiều kiểu máy trong một Dao Cạo Xem
Vấn đề của tôi là cách chỉnh sửa nhiều mô hình trong cùng một trang xem chỉnh sửa. Trước khi gửi bài này tôi lấy sự giúp đỡ của MVC3 "Music Store" ví dụ nhưng chỉ có một mô hình ALBUM
và họ cung cấp thao tác chỉnh sửa cho một mô hình nếu có một hoặc nhiều mô hình cách tôi chỉnh sửa trong cùng một trang xem.
Tôi đã tạo lớp đặc tả kinh doanh gốc. Đây là từ 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);
}
Trong HTTP POST
chỉ có trên model ALBUM
nếu có nhiều mô hình làm thế nào tôi đang thực hiện chỉnh sửa hoạt động trên nhiều mô hình và xem?
gì im viết sau if (ModelState. IsValid) { để chỉnh sửa mô hình cụ thể. – user1196392
@ user1196392 Bạn không thể gọi một cái gì đó như 'Save' trên các lớp dữ liệu của bạn? Một cái gì đó như 'model.Album.Save();' cho mỗi loại trong mô hình. – mattytommo