3

MVC 4 を使用していて、ポストバックでいくつかの値を維持したいので、隠しフィールドに入ります。本質的に:

@using (Html.BeginForm())
{
    Html.HiddenFor(model => model.EventId);
    Html.HiddenFor(model => model.paymentMethodId);
}

しかし、非表示のフィールドはレンダリングされたマークアップに表示されないため、ポストバックでは明らかに欠落しています。

4

2 に答える 2

6

@、を追加する必要があります@Html.HiddenFor()。それ以外の場合は、ヘルパー メソッドを実行しているだけで、出力に対して実際には何もしていません。

于 2013-06-07T18:00:51.003 に答える
2

dombenoit が言うように、「@」ディレクティブが欠落しており、「;」も削除する必要があります。何らかの理由で各行の末尾から変更されたため、修正されたコード サンプルは次のようになります。

@using (Html.BeginForm())
{
    @Html.HiddenFor(model => model.EventId)
    @Html.HiddenFor(model => model.paymentMethodId)
}

非表示フィールドが期待どおりにレンダリングされるようになりました。

于 2013-06-08T12:14:46.670 に答える