私はこのようなビューを持っています:
@model SCWW.Areas.OnlineBookings.Models.Updates.UpdateDetailsModel
@using (Html.BeginForm("Apply", "Updates", new { area = "OnlineBookings", consignmentKey = Model.ConsignmentKey }, FormMethod.Post, new { id = "updateableForm" }))
{
<fieldset>
<legend>Updateable - @Html.DisplayFor(model => model.ConsignmentKey)</legend>
<div class="well well-small ">
@Html.HiddenFor(m => m.ConsignmentKey)
<table id="updateDetails" class="table table-bordered table-striped table-hover dataTable">
<tbody>
<tr>
<td>Completed Date</td>
<td>@Html.CheckBoxFor(m => m.Apply)</td>
<td class="table-input">@Html.TextBoxFor(m => m.CompletedDate, new { Disabled = "Disabled" })</td>
</tr>
<tr>
<td>Cancelled Date</td>
<td>@Html.CheckBoxFor(m => m.Apply)</td>
<td class="table-input">@Html.TextBoxFor(m => m.CancelDate, new { Disabled = "Disabled" })</td>
</tr>
<tr>
<td>Booking Number</td>
<td>@Html.CheckBoxFor(m => m.Apply)</td>
<td class="table-input">@Html.TextBoxFor(m => m.BookingNumber, new { Disabled = "Disabled" })</td>
</tr>
</tbody>
</table>
<button type="submit" id="applyProxy" name="action" value="@FormAction.Apply" class="btn btn-success">Update</button>
</div>
</fieldset>
}
コントローラ:
[HttpPost]
public ActionResult Apply(UpdateDetailsModel model, FormAction action)
{
if (!ModelState.IsValid)
{
return View("Submit", GenerateViewModel(model.ConsignmentKey));
}
updateableService.Update(model.ConsignmentKey,"CompletedDate", model.ToDto());
return RedirectToActionWithHash("Details", "otherActionsTab", "Bookings",
new { consignmentKey = model.ConsignmentKey });
}
私の見解では、それぞれに 1 つのチェックボックスがある 3 つの行があります。ビューの「更新」ボタンをクリックすると、チェックボックスが1つだけ選択されます。どのチェックボックスが選択されているかを知るにはどうすればよいですか? 選択したチェックボックスの値をビューからコントローラーに渡す方法 - コントローラーで Apply(UpdateDetailsModel モデル、FormAction アクション)