2012-06-13 34 views
0

这是我想要做的。我有一个用户填写的表单(创建部分和子部分),当他们单击保存时,我想检查数据库以查看他们是否已命名与已存在的部分相同的部分。如果他们有,我想要得到他们的确认,让他们知道如果他们继续,他们将创建一个重复。如果他们点击是,我需要继续,否则我需要中止。这是我迄今为止的一些伪码。获取确认框并在代码后面显示它的值

protected void SaveButton_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     if (CheckForDuplicates()) 
     { 
      //proceed normally 
     } 
    } 
} 

private bool CheckForDuplicates() 
{ 
    //check database 

      if (/*there are duplicates*/) 
      { 
       string message = "A duplicate name exists. Would you like to continue?"; 
       string scriptString = "<script language='javascript' 
        type='text/javascript'>" + "return confirm('" + message + "');</script>"; 

       ScriptManager.RegisterStartupScript(this, this.GetType(), 
        "script", scriptString, false); 

       //here i would like to return their confirmation 
      } 
     } 
    } 
    return true; 
} 

所有帮助表示感谢,并提前致谢!

回答

0

添加JavaScript使得如果用户确认,您可以拨打JavaScript __doPostBack('','UserConfirmed');函数。只需在您的代码隐藏中添加逻辑以及您使用ScriptManager注册的确认逻辑即可。当回发时,就可以检查,以确保回传,事实上,通过用户的确认开始(而不是在页面上一些其他的动作):

public void Page_Load(object sender, EventArgs e) 
{ 
    string parameter = Request["__EVENTARGUMENT"]; 
    //if parameter equals "UserConfirmed" 
    //  User confirmed, so do whatever 
    // 
} 

信息__doPostBackUnderstanding the JavaScript __doPostBack Function

+0

谢谢!我对_doPostBack有点困惑,但你的链接确实有帮助。 –

+0

太棒了!乐意效劳。 – Jeremy

相关问题