从我的代码背后,在我的更新方法中,我必须询问用户是否要覆盖某些特定值。如果是,则覆盖,如果不是,则继续保存而不保存该值。
在我的aspx中我有这个javascript函数:
function ConfirmationBox(msg) {
var ovd = document.getElementById("hdnOveride"); //gets a HiddenField
if (confirm(msg) == true) {
ovd.value = "1";
return true;
}
else {
ovd.value = "0";
return false;
}
}
从代码隐藏中,我调用了这个函数。然后我检查我的HiddenField“hdnoveride”的值。如果它1我保存,否则我没有。
System.Web.UI.ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Test", "javascript:ConfirmationBox('overide?');", true);
if (hdnOveride.Value == "1"){
//Save the value
}
问题是我的代码不会等待用户在继续之前回答确认框。我尝试使用Thread.Sleep()而hdnOveride没有这样设置:
while (hdnOveride.Value == "notset") {
System.Threading.Thread.Sleep(500);
}
但它只是停止了所有内容,因此当我这样做时弹出框永远不会显示。
如何在继续使用代码之前告诉系统等待答案? 谢谢!