1

コントローラーを介してモデルを渡した1つのビューページで、
@Html.DisplayFor(m => m.FirstName)次のように記述できます。モデルの名が表示されます。を使用してページ上のフォームを送信しようとすると

@using (Html.BeginForm("CreateUser", "Controller", FormMethod.Post, new { UserViewModel = Model }))

で私のモデルを見てみましょう

[HttpPost]
public virtual ActionResult CreateUser(UserViewModel model)
{
    //model.FirstName is blank

とにかくmodel.FirstNameを空白にできないようにすることはできますか?私が最初に渡したモデルをどのように渡すのですか?私はたくさんの隠された発言を設定することができましたが、それが非常に役立つより良い方法があれば

編集:DisplayForは、モデルがアクセス可能であることを示すための単なる例です。私は実際に約15のフィールドを持っており、モデルにデータを入力しようと複数のフォームを実行しています。隠されていることが唯一の方法ですか?モデル全体を非表示にすることはできますか?

4

1 に答える 1

1

@Html.DisplayFor()サーバーに送信されるフォーム要素のみを送信すると、デフォルトで値を使用して単純なリテラルを作成します(表示テンプレートを使用していない場合)。

非表示の入力を使用できます。

@Html.HiddenFor(m => m.FirstName)

これは次のようになります:

<input type="hidden" value="{the first name}" name="FirstName" id="FirstName" />
于 2012-11-20T19:27:17.367 に答える