在我的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)%>
点击提交按钮后,调用ajax请求并发回服务器响应。
但是,问题是我无法在收到服务器响应的情况下更新该隐藏字段。
问题是因为它是隐藏式输入。 有没有其他方法可以做到这一点..请帮助。
答案 0 :(得分:0)
尝试使用隐藏输入的html标记来查看会发生什么:
<input id="ChangedOnId" name="ChangedOn" type="hidden" value="<%=Model.ChangedOn%>">
答案 1 :(得分:0)
如果要更改隐藏输入的值,可以执行以下操作:
$("#ChangedOn").val(yourValue);
如果你想改变它的文字更改DisplayFor,你可以选择它。
我认为DisplayFor
只会呈现您属性的纯文本
答案 2 :(得分:0)
隐藏的字段存储在ModelState中
您可以将其删除
ModelState.Remove(nameof(Model.ChangedOn));