同様の問題を探しましたが、この特定の問題は見つかりませんでした。簡単に解決できると思いますが、これまでに見たことがなく、試したすべてのことで解決しません。
MVC 5、C# モデル、および Razor ビューを使用します。チェックボックスに使用する約 20 個の bool エンティティを持つモデルがあります。ユーザーは、最初のフォーム挿入の一部として、最初にチェックボックスを選択します。更新を行うと、問題が残ります。
20 個のチェックボックスのうち 18 個が正常に更新されます。正しく動作する例を次に示します。もちろん、モデル名が異なることを除いて、20個すべてがこのように見えます.
<div class="form-group ">
<label class="d-inline-flex customcheckPsNp pb-1">
@Html.CheckBoxFor(model => model._GetCompleteGroup1.MvrInFile)
<span class="checkmarkPsNp"></span>
</label>
<label for="MvrInFile" class="lblPolicyServiceList ml-1">MVR In File</label>
</div>
これは、そのために生成された html です。
<label class="d-inline-flex customcheckPsNp pb-1">
<input data-val="true" data-val-required="The MvrInFile field is required." name="_GetCompleteGroup1.MvrInFile" type="checkbox" value="true">
<input name="_GetCompleteGroup1.MvrInFile" type="hidden" value="false">
<span class="checkmarkPsNp"></span>
</label>
これらのチェックボックスはコントローラーに送信され、true または false に更新されます。それらのうちの2つを除くすべて。
これは、問題のある Checkboxfors と生成された HTML の 1 つです。これが問題の場所であり、私がよく理解していない部分だと思います。生成される HTML は他とは異なります。
<div class="form-group ">
<label class="d-inline-flex customcheckPsNp pb-1">
@Html.CheckBoxFor(model => model._GetCompleteGroup1.LocInFile)
<span class="checkmarkPsNp"></span>
</label>
<label for="LocInFile" class="lblPolicyServiceList ml-1">LOC In File</label>
</div>
コンソール要素にある生成された HTML
<label class="d-inline-flex customcheckPsNp pb-1">
<input name="_GetCompleteGroup1.LocInFile" type="checkbox" value="true">
<input name="_GetCompleteGroup1.LocInFile" type="hidden" value="false">
<span class="checkmarkPsNp"></span>
</label>
ご覧のとおり、生成された HTML の違いは異なります。これを解決する理由と方法を知っている人はいますか? この html の代わりに上から同じ html を手動で作成しようとしましたが、それでもうまくいきません。私はそれがすべて整列しているモデルを見てきました。これらのブール値が存在しない場合、エラーが発生します。コントローラーは、モデル内のブール値も考慮します。
これら 2 つのチェック ボックスが、モデルと共にコントローラーに正しく送信されていないと思われます。HTML の生成方法が原因である可能性があります。私はかなり離れているかもしれませんが、チェックボックス間で異なる唯一の明確なことです.
助けてくれてありがとう。