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 回答