-1
私はこの問題がありました:Multiple checkboxes in razor (using foreach)剃刀の複数のチェックボックスは常に偽を返します
私はこの問題を抱えていました。それは私のためには機能しません。だからうまくいけば皆さんが助けることができます。
マイビュー:
@for(int i = 0; i < Model.Messages.Count; i++)
{
<tr>
<td>
@using (Html.BeginForm("UpdateMessage", "Home", FormMethod.Post))
{
@Html.CheckBoxFor(x => Model.Messages[i].Activated, new {onchange = "this.form.submit();"});
@Html.HiddenFor(x => x.Messages[i].Text);
}
</td>
<td>@Model.Messages[i].Text</td>
<td><button>Delete</button></td>
</tr>
}
のメッセージがあり、メッセージの一覧です:
public string Text { get; set; }
public bool Activated { get; set; }
コントローラーPOSTメソッド:
[HttpPost]
public ActionResult UpdateMessage(Domain.Entities.Message message)
{
repository.UpdateMessage(message);
return RedirectToAction("Settings_Message", "Home");
}
だから私は偽のブール値、空を取得します文字列。どうして?
コードは意味をなさない。ビューのモデルがPOSTメソッドのモデルと一致しません。また、ビューに複数のフォームがあるのはなぜですか?ユーザーは一度に1つのフォームしか送信できません。そして、チェックボックスのidを恐れて練習してください。 –
送信ボタンを使って単一のフォームの中にループを入れ、POSTメソッドでモデルをビューのモデルに合わせて変更します。そのモデルのプロパティの名前)、複数のアイテムを編集して、すべてのアクションを1つのアクションに戻すことができます。 –