Asp.net mvc 获取Ajax响应后,无法更新ASP.net MVC中的Label.HiddenFor字段

Asp.net mvc 获取Ajax响应后,无法更新ASP.net MVC中的Label.HiddenFor字段,asp.net-mvc,asp.net-mvc-ajax,Asp.net Mvc,Asp.net Mvc Ajax,在我的ASP.net MVC应用程序中。我面临着一个问题,并且为之奋斗 我在视图中有一个编辑表单,因为我有一个标签,定义为: <% using (Ajax.BeginForm("AjaxEdit", "Home", new AjaxOptions { OnSuccess = "Success", OnFailure = "Failed",UpdateTargetId = "ChangedOn"})) { %> <%=

在我的ASP.net MVC应用程序中。我面临着一个问题,并且为之奋斗

我在视图中有一个编辑表单,因为我有一个标签,定义为:

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

           <%=Html.HiddenFor(Model => Model.ChangedOn)%>
           <%:Html.DisplayFor(Model => Model.ChangedOn)%>
单击submit按钮后,将调用ajax请求并返回服务器响应

但是,问题是我无法用收到的服务器响应更新该隐藏字段

问题是因为它属于隐藏输入类型。
是否有其他方法来执行此操作。请提供帮助。

尝试使用html标记进行隐藏输入,以查看将发生什么:

 <input id="ChangedOnId" name="ChangedOn" type="hidden" value="<%=Model.ChangedOn%>">

如果要更改隐藏输入的值,可以执行以下操作:

$("#ChangedOn").val(yourValue);
如果你想改变它的文本,你可以选择一个标签。
我认为DisplayFor只渲染属性的纯文本

隐藏字段存储在ModelState中

你可以移除它

ModelState.Remove(nameof(Model.ChangedOn));

我也有同样的问题,有解决办法吗?