Asp.net mvc 获取Ajax响应后,无法更新ASP.net MVC中的Label.HiddenFor字段
在我的ASP.net MVC应用程序中。我面临着一个问题,并且为之奋斗 我在视图中有一个编辑表单,因为我有一个标签,定义为: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"})) { %> <%=
<% 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));
我也有同样的问题,有解决办法吗?