2017-01-09 25 views
0

CheckBoxの値をビューから取得しようとしていますが、CheckBoxをチェックしても "false"が返されます。asp.net mvcのCheckBoxから値を取得する5

私は間違っていますか?

 [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Create([Bind(Include = "Id,ReaderId,BookId")] BookingViewModel bookingViewModel) 
     { 
      Booking booking = new Booking(); 
      if (ModelState.IsValid) 
      { 
       var userId = User.Identity.GetUserId(); 
       int readerId = db.Readers.Where(c => c.ApplicationUserId == userId).First().ReaderId; 




       booking.ReaderId = readerId; 
       booking.BookId = bookingViewModel.BookId; 


       db.Bookings.Add(booking); 

       bool value = bookingViewModel.IfWantEmail; 
       db.SaveChanges(); 

       return RedirectToAction("ShowUserBookings"); 
      } 

      ViewBag.BookId = new SelectList(db.Books, "BookId", "Title", booking.BookId); 

      return View(booking); 
     } 

そして、これは私の見解からのコードです:

  <dt> 
       @Html.DisplayNameFor(model => model.IfWantEmail) 
      </dt> 

      <dd> 
       @Html.CheckBoxFor(model => model.IfWantEmail) 
      </dd>   
+0

'[Bind(Include =" Id、ReaderId、BookId ")]'を削除して動作しますか? – Win

答えて

2

あなたが意図的にモデルにPOSTデータを結合するIfWantEmailを除いています。

[Bind(Include = "Id,ReaderId,BookId")] 
+0

ありがとうございます(: – Kasparas

関連する問題