2016-09-18 12 views
0

複数のレコードを一度に更新しようとしていますが、モデルは常にnullです。投稿から複数のレコードを更新するMVC

これは、単一のレコードを更新するために機能します。ポスト= AttendeeId = 79 & ArrivedAttendees = 3

 public async Task<ActionResult> UpdateArrivalNumbers(ArrivedAttendeesVM vm) 
    { 
     var query = db.HorseRidingBookingAttendees.Find(vm.AttendeeId); 
     query.ArrivedAttendees = vm.ArrivedAttendees; 
     db.Entry(query).State = EntityState.Modified; 

     await db.SaveChangesAsync(); 
     return Json(new { success = true }, JsonRequestBehavior.AllowGet); 
    } 

私は複数のレコードを更新するには、このような何かをする必要がありますが、モデルは常にnullです。誰のため

は他有する:FIXED - ポスト= AttendeeId [0] = 79 & ArrivedAttendees [0] = 3 & AttendeeId [1] = 80 & ArrivedAttendees [1] = 5

 public async Task<ActionResult> UpdateArrivalNumbers(List<ArrivedAttendeesVM> vm) 
    { 
     foreach (var item in vm) 
     { 
      var query = db.HorseRidingBookingAttendees.Find(item.AttendeeId); 
      query.ArrivedAttendees = item.ArrivedAttendees; 
      db.Entry(query).State = EntityState.Modified; 
     } 
    await db.SaveChangesAsync(); 
    return Json(new { success = true }, JsonRequestBehavior.AllowGet); 
    } 

UPDATE

<input type="hidden" name="AttendeeId[@i]" id="AttendeeId[@i]" value="@item.AttendeeId" /> 

しかし、それは私が私のフォームフィールドを更新しなければならなかった作業を取得する:

私は私のようなフォームフィールドを持っていた同じ問題
<input type="hidden" name="[@i].AttendeeId" id="[@i].AttendeeId" value="@item.AttendeeId" /> 
+0

ルックここにhttp:// stackoverflowの。 com/questions/19964553/mvc-form-able-to-objects-of-objects投稿一覧 – DespeiL

+0

そしてあなたのフォームコードをplsに追加してください – DespeiL

+0

ありがとうございましたDespeiL - 私はリンクした記事からさらにいくつかを学びました:) – MWD

答えて

1

問題はあなたの行動にはありません。恐らくあなたの見解です。あなたが述べたように、あなたのポストされたデータは以下の通りである:MVCフレームワークの

AttendeeId[0]=79 
ArrivedAttendees[0]=3 
AttendeeId[1]=80 
ArrivedAttendees[1]=5 

が正しくモデルを結合することができるように、データは以下の通りであるべき投稿:

[0].AttendeeId=79 
[0].ArrivedAttendees=3 
[1].AttendeeId=80 
[1].ArrivedAttendees=5 
+0

完全に感謝します:) – MWD

+0

@MWD、うれしいあなたのために –

関連する問題