0

モデルにフィールドがあり、次のようにページに表示されます。

<label id="someId">@Model.TextProperty</label>

TextProperty がページに 2 回表示されます。

<div id="hiddenEditForm" style="display: none;">
    @Html.TextAreaFor(m => m.TextProperty, new
    {
         @Id = "textPropertyValue"
    })
</div>

に触れずにフォームを送信するhiddenEditFormと、コントローラーは TextProperty の元の値を受け取りますが、問題はありません。

ただし、$("#hiddenEditForm").dialog()(jQuery UI ダイアログ) の後にフォームが送信されると、コントローラーのモデルの TextProperty が空になり、検証が失敗します。$("#hiddenEditForm").show()a を実行してもバインディングが壊れないため、jQuery プラグインに明示的に結合されているようです。

ここで何が起こっているのですか?TextProperty をコントローラーに保持するにはどうすればよいですか?

4

1 に答える 1

0

この質問には、jQuery ダイアログに関する良い議論があります: jQuery modal window removes elements from my form

以前にその問題に遭遇したという漠然とした記憶があります。

于 2013-03-22T13:04:44.607 に答える