【发布时间】:2015-08-11 07:40:26
【问题描述】:
我在_layout 文件中有隐藏字段。当用户登录时,我正在检查数据库中的值。如果是真的向用户弹出一个对话框。如果用户关闭对话框,我将不会显示他注销的消息框。所以我就是这样做的。
_布局
@Html.Hidden("BadAddressWarning","")
layout.js
$(function () {
if ($("#BadAddressWarning").val() == "") {
$.ajax({
url: '../Address/CheckPrimaryAddressGood',
type: "Get",
....
success: function(data) {
if (data != "") {
$("#dialogCheckAddress").dialog({
...
});
$("#dialogCheckAddress").dialog("open");
$("#dialogCheckAddress").on("dialogbeforeclose", function(event, ui) {
$("#BadAddressWarning").val("false");
});
}
},
failure: function(errMsg) {
alert(errMsg);
}
});
}
});
如果我回帖。我输了$("#BadAddressWarning").val()。我想保留那个值。
【问题讨论】:
-
在强制性的“MVC 中没有回发”之外,隐藏字段需要位于表单标签内,才能成为 POST 集合的一部分。将它保存在 POST 集合中允许您将值发送回新视图。从您描述的声音来看,它没有包含在您的表单标签内。您可以使用 javascript 将此值复制到提交时表单中的实际隐藏表单字段中。或选项 2,当您需要保留请求之间的值时,将其放在会话或 cookie 中。
标签: jquery asp.net asp.net-mvc postback