1

私の ASP.net MVC アプリケーションで。私は問題に直面しており、本当に苦労しています。

View に編集フォームがあり、次のように定義されたラベルがあります。

<% using (Ajax.BeginForm("AjaxEdit", "Home", new AjaxOptions { OnSuccess = "Success", OnFailure = "Failed",UpdateTargetId = "ChangedOn"}))
                   { %>

           <%=Html.HiddenFor(Model => Model.ChangedOn)%>
           <%:Html.DisplayFor(Model => Model.ChangedOn)%>

送信ボタンをクリックすると、ajax リクエストが呼び出され、サーバーの応答が返されます。

しかし、問題は、受け取ったサーバーの応答でその隠しフィールドを更新できなかったことです。

問題は、それが非表示の入力であるためです。これを行う他の方法はありますか..助けてください。

4

3 に答える 3

0

非表示の入力の値を変更する場合は、次のようにします。

$("#ChangedOn").val(yourValue);

そして、それを変更したい場合は、そのテキストを選択できるタグで DisplayFor を変更します。DisplayForプロパティのプレーンテキストのみをレンダリングすると思います

于 2013-10-26T11:09:41.337 に答える
0

非表示の入力に html タグを使用して、何が起こるかを確認してください。

 <input id="ChangedOnId" name="ChangedOn" type="hidden" value="<%=Model.ChangedOn%>">
于 2013-10-26T10:11:45.923 に答える
0

非表示のフィールドは ModelState に格納されます

あなたはそれを削除することができます

ModelState.Remove(nameof(Model.ChangedOn));
于 2019-04-12T16:25:47.827 に答える