从我后面的代码中,在我的更新方法中,我必须询问用户是否要覆盖某些特定值。如果是,则覆盖,如果不是,则继续保存而不保存此值。
在我的 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);
}
但它只是停止一切,所以当我这样做时弹出框永远不会显示。
如何告诉系统在继续执行代码之前等待答案?谢谢!