这就是我想要做的。我有一个用户填写的表单(创建部分和子部分),当他们点击保存时,我想检查数据库,看看他们是否已经命名了一个与已经存在的部分相同的部分。如果他们有,我想得到他们的确认,让他们知道如果他们继续,他们将创建一个副本。如果他们点击是,我需要继续,否则我需要中止。这是我迄今为止的一些伪代码。
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 :(得分: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
的信息:Understanding the JavaScript __doPostBack Function