-1

ブール値の送信に CheckBoxFor を使用しています。

デモ.cshtml

<div class="checkbox">
     <label>@Html.CheckBoxFor(i => i.ReportModel.Is_XRay.Value) X-Ray</label>
</div>

ここに画像の説明を入力

チェックボックスを選択しても、非表示の値が false になっています。

また、ページを送信すると、チェックボックスの値がnullになります

4

1 に答える 1

0

その非表示の入力は、常に false の値を持つ必要があります。これは、チェックボックスがチェックされていない場合、データがサーバーに送信されないためです。これを回避するには、値が false の非表示の入力が常にサーバーに送信されます。ボックスをオンにして送信すると、URL に変数名が 2 回 (true で 1 回、false で 1 回) 含まれている必要があります。あなたの本当の問題に対処するために、変数の名前と関係があるのではないかと思います。リスト内のオブジェクトを使用している場合、Razor はアンダースコアを挿入します。モデル バインダーに苦労を与えていると思います。

于 2016-09-27T18:51:41.100 に答える