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;
}

感谢所有帮助,并提前感谢!

4

1 回答 1

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
  //
}

有关信息__doPostBack了解 JavaScript __doPostBack 函数

于 2012-06-13T18:51:33.947 回答