5

私のMVC4プロジェクトでは、ラベルをクリックするとCheckbox対応Labelするチェックボックスがチェックされるように、対応するものを表示しています。しかし、私が使用する@Html.LabelForと、その値を表示する代わりにプロパティ名が表示されます。また、ラベルをクリックすると、対応するチェックボックスがチェックされません。ここで何が問題なのですか?

@for (int i = 0; i < Model.AddOns.Count; i++)
{
    @Html.CheckBoxFor(m => m.AddOns[i].IsActive)
    @Html.LabelFor(m => m.AddOns[i].Name)
    @Html.HiddenFor(m => m.AddOns[i].Id)
}

私が使用DisplayForすると値が表示されますが、ラベルをクリックしてもチェックボックスがチェックされません。

4

1 に答える 1

5

ラベルを のチェックボックスに関連付ける必要がありますIsActiveが、ラベルはName. したがって、プロパティLabelForを参照する必要がIsActiveあり、ラベル文字列は 2 番目のパラメーターとして渡されます。

私はあなたがこれを望んでいると思います:

@for (int i = 0; i < Model.AddOns.Count; i++)
{
    @Html.CheckBoxFor(m => m.AddOns[i].IsActive)
    @Html.LabelFor(m => m.AddOns[i].IsActive, Model.AddOns[i].Name)
    @Html.HiddenFor(m => m.AddOns[i].Id)
}
于 2013-06-25T04:55:38.850 に答える