4

以下を使用してフォームを Action Method に投稿すると、View Model の値が Parameter に表示されます。

@Html.EditorFor(model => model.Foo)

以下を使用してアクション メソッドにフォームを投稿すると、パラメーターにビュー モデルの値が表示されません。

@Html.DisplayFor(model => model.Foo)

したがって、後のケースでは、隠しフィールドを使用できます。DisplayForですから、投稿フォームの値に関しては、私たちをすべきではないと思います。

質問:DisplayForアクション メソッドに値をポストしないのはなぜですか? この内部メカニズムについて議論できますか?

4

3 に答える 3

7

html レンダリングを参照してください。属性がありませんname。または入力タグではありません。input, select, textarea,...form タグは、属性を持つタグ要素のみを送信しますname。例えば:

<form...>
   <input id="lastname" name="lastname" />
</form>

これではない:

<form...>
   <input id="lastname" />
</form>

ここに画像の説明を入力

于 2013-08-24T20:39:27.217 に答える