0

私はMVC3が初めてで、BussinessDetails、ContactPerson、servicearea、addressなどの複数のモデルを持っています。連絡先、ビジネスの詳細、住所、サービスエリアなどの共有ビューページがすべてタブにある単一のビューページがあります。独自のモデルがあります。

私の問題は、同じ編集ビュー ページで複数のモデルを編集する方法です。この投稿を送信する前に、MVC3 "Music Store" Example の助けを借りますが、モデル "ALBUM" は 1 つしかなく、モデルがあれば 1 つのモデルに対して編集操作を行います。同じビュー ページで編集する方法の 1 つまたは複数のモデルです。

私はすでに親ビジネス仕様のクラスを作成しています。これは 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);
}                                                                   

HTTP POST では、複数のモデルがある場合、モデル「ALBUM」にのみ存在し、複数のモデルで編集操作を実行して表示するにはどうすればよいですか?

4

2 に答える 2

2

次のような 2 つ以上のモデルに関する情報を含む新しいモデルを作成します。

public class MainPageModel{
    public mod mod{get; set;}
    public mod2 mod2{get; set;}
}

アクションで MainPageModel を参照し、オブジェクトを編集するだけで、オブジェクトが属するモデルが返されます

ここに良いチュートリアルがあります

http://francorobles.wordpress.com/2011/05/03/returning-multiple-models-in-1-view-in-asp-net-mvc3/

于 2012-05-22T06:10:42.340 に答える
0

はい、ビューモデルを使用してそれを行うことができます。この投稿で私の答えを見てください

必須フィールド Validate MVC

于 2012-05-22T07:32:49.570 に答える