我正在使用Silverlight 4.0浏览器内应用程序。我需要在点击关闭(十字按钮或Alt + F4)事件时弹出一个弹出窗口。由于Close事件发生在本地浏览器上,因此在Close事件上没有触发任何服务器端事件。我试图在Default.aspx文件中使用 OnBeforeUnload 事件,如下所述:
function areYouSure() {
$.ajax({
type: "POST",
async: false,
url: "default.aspx/GetDialogStatus",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d)
{
confMessage = "Unsaved Changes error message";
}
else {
confMessage = nochanges;
}
},
error: function(error) {
alert(error);
}
});
return confMessage;
}
var areYouReallySure = false;
$(document).ready(function () {
window.onbeforeunload = areYouSure;
});
对于守则背后:
[WebMethod]
public static bool GetDialogStatus()
{
if(**Business Condition Satisfies**)
{
return true;
}
else
{
return false;
}
}
检查本地环境时,代码运行正常。但是,当部署到Dev,Test Server时,弹出窗口不会出现,当ajax调用发生时,我们会看到一个身份验证弹出窗口。任何人都可以遇到类似的问题吗?