从代码背后的确认框,等待答案

时间:2012-09-24 15:34:23

标签: c# asp.net

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

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

但它只是停止了所有内容,因此当我这样做时弹出框永远不会显示。

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

1 个答案:

答案 0 :(得分:0)

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