サーバー側にコードがあります:
@Html.EditorFor(m => m.RememberMe)
RememberMe
私のモデルのブールフィールドです。そして、レンダリングされた HTML:
<input class="check-box" data-val="true" data-val-required="The Remember Me ? field is required." id="RememberMe" name="RememberMe" type="checkbox" value="true" />
<input name="RememberMe" type="hidden" value="false" />
同じ の隠しフィールドがありname="RememberMe"
ます。この隠しフィールドの理由と目的がわかりません。
チェックボックスをオンにしてサーバー側でデバッグすると、モデルが正しくマッピングされました。私が得た: myModel.RememberMe = true
. しかし、私が調べたときRequest["RememberMe"]
。見ました"true,false"
。false
それらは同じ名前であるため、非表示フィールドからのものである必要があります。
私の質問は次のとおりです。
- 問題の
false
原因になりますか? - asp.net mvc がこのような隠しフィールドをレンダリングするのはなぜですか?
- 隠しフィールドが必要ない場合。どうすればそれを取り除くことができますか?
"true"
だけで手に入れるのが一番いいと思いますRequest["RememberMe"]
。
ありがとうございました