在后面的代码中确认功能

时间:2010-05-07 07:03:22

标签: c# asp.net javascript

我的应用程序我正在使用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);
 }

3 个答案:

答案 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);

 }