0

从我后面的代码中,在我的更新方法中,我必须询问用户是否要覆盖某些特定值。如果是,则覆盖,如果不是,则继续保存而不保存此值。

在我的 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);
}

但它只是停止一切,所以当我这样做时弹出框永远不会显示。

如何告诉系统在继续执行代码之前等待答案?谢谢!

4

1 回答 1

0

好的,我使用 Panel 来向我的用户提问,如下所示:https ://stackoverflow.com/a/7677000/454157

于 2012-09-26T14:20:15.597 回答