我正在尝试在这个网站上工作,我需要过滤要插入数据库的数据。例如,我需要将“Hello World”插入数据库。但是,它已经存在。因此,我需要弹出一个确认框,说“字符串Hello World已经存在于数据库中。你确定要继续吗?”
我的问题是我不知道在我的代码中哪个位置应该包含我的确认消息。请参阅下面的参考资料:
private bool CheckData(string myString)
{
//Check database if myString already exists.
return;
}
private void btnSave_Click(Object sender, EventArgs e)
{
CheckData(myString)
//If the above is true, then the confirmation box should appear.
//Do something to save myString to the database.
}
我是使用以下代码以编程方式将OnClientClick事件处理程序添加到我的按钮:
btnSave.OnClientClick = "confirmation('The string " + myString + " already exists in the database. Are you sure you want to continue?')";
我的问题基本上是处理这种情况的最佳方法是什么?由于我无法将此代码放在btnSave_Click事件上(它将添加OnClientClick处理程序,但只会在下次单击该按钮时触发)。
答案 0 :(得分:0)
通过ajax执行此操作,让onClientClick调用一个调用.net处理程序的js函数来检查文件是否存在,并且:或者:
否则,您可以检查文件是否存在于回发中,但是您必须显示一条消息和另一个确认按钮以允许用户覆盖该文件。如果用户决定上传并覆盖现有文件,它将创建两个回发。
答案 1 :(得分:0)
答案 2 :(得分:0)
//在程序中添加此功能
public static void ShowAlertMessage(string error)
{
Page page = HttpContext.Current.Handler as Page;
if (page != null)
{
error = error.Replace("'", "\'");
ScriptManager.RegisterStartupScript(page, page.GetType(), "err_msg", "alert('" + error + "');", true);
}
}
//检查函数返回的值
private void btnSave_Click(Object sender, EventArgs e)
{
bool flag=CheckData(myString);
//If the above is true, then the confirmation box should appear.
//Do something to save myString to the database.
if (flag==true)
{
ShowAlertMessage("The data Could not be added");
}
else
{
//do the desired operation of adding in the database.
}
}
希望有所帮助......