我花了很多时间为我遇到的问题找到解决方法或解决方案。我有一个 AJAX 表单,如下面的原型:
@using (Ajax.BeginForm("MyAction", "Account", new AjaxOptions() {
HttpMethod = "POST",
UpdateTargetId = Model.MyID.ToString(), OnSuccess = "onSuccess"
}))
{
@Html.AntiForgeryToken()
<fieldset>
<legend></legend>
@Html.HiddenFor(m => m.MyID, new { @id = Model.MyID.ToString() })
}
如您所见,HiddenFor 值是根据 POST 操作中的值更新的,如下面的 POST 操作中的代码片段:
return Content(model.MyID.ToString());
好消息是 AJAX 调用更新了 HiddenFor 值,但在下一个 POST 操作中,MyID 的值为零,尽管我知道它必须是非零值!
我读了很多建议Model.Clear()
orModel.Remove("MyID")
等的帖子,但他们甚至没有帮助!
我做错了什么,对此有什么坚定的解决方案?我在这里先向您的帮助表示感谢。