我的应用程序我正在使用ajax(Updatepanel)。我在数据库中完成一些更新过程后使用以下代码显示确认对话框。但它不适合我。
问题:
确认框未显示。
代码:
protected void imbtnUpdate_Click(object sender, ImageClickEventArgs e)
{
// Database process
string javaScript = "<script language=JavaScript>\n " + "if(confirm('Do you want to update
the files?'))window.location.href = \"Upload.aspx?ID=" + ID +
"&pt=Gm&page=Gms\"; else return false;\n" + "</script>";
RegisterStartupScript("imbtnUpdate_Click", javaScript);
}
答案 0 :(得分:0)
此代码只是在页面上注册了javascript,如果说...如果(... bla bla bla)...
功能在哪里?
RegisterStartupScript,不会在此代码的imbtnUpdateClick 上设置,并且不会在点击更新时调用它。
此外,您必须始终从我看到的代码返回false。
建议:您是查看页面源代码,查看生成的HTML并查看此代码的作用,然后您了解该问题是什么。
答案 1 :(得分:0)
在您的代码中尝试此操作:
imbtnUpdate.Attributes.Add("onclick", "return ConfirmUpdate();");
然后将您的脚本放入名为ConfrimUpdate()
的javascript函数中答案 2 :(得分:0)
您使用的是AJAX吗?
因为如果您的按钮位于更新面板中,并且您尝试在部分回发上添加此启动脚本,则应使用ScriptManager注册它。
protected void imbtnUpdate_Click(object sender, ImageClickEventArgs e)
{
// Database process
string javaScript = "<script language=JavaScript>\n " + "if(confirm('Do you want to update
the files?'))window.location.href = \"Upload.aspx?ID=" + ID +
"&pt=Gm&page=Gms\"; else return false;\n" + "</script>";
// RegisterStartupScript("imbtnUpdate_Click", javaScript);
ScriptManager.RegisterStartupScript(Page, Page.GetType(),"imbtnUpdate_Click", javaScript , true);
}