使用 .netScriptManager和UpdatePanel控件 无法弹出提示窗口的问题 解决办法

.net使用静态刷新控件ScriptManager和UpdatePanel无法弹出窗口如何解决

如果在页面里面用到了ScriptManager,里面再放个更新面板,那客户端的弹出对话框就不起作用了。

例如:

Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加信息成功!');</script>");

 

这句验证就失去了作用。

 

那就要到以下的:

ScriptManager.RegisterStartupScript(this.btnOK, this.GetType(), "alert", "alert('添加信息成功!');", true);

 

第一个参数: 是哪个按钮要使用的这个JS 。

最后一个参数:使用了true ,所以前面的js里面就不能添加</script> 。添加就会出错的。

 

 

UpdatePannel中弹窗这样写:

String cstext1 = String.Format("alert('{0}');", "查询到1233条数据!");

                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "message", cstext1, true);

 

 

.Net 弹出框口汇总

vkesoft.com

在.NET WEB应用上弹出消息框,我试验成功的有下面的几种,若有其他方法,望您不吝赐教。

1.只弹出提示消息。

        方法一:

          string script = "<script> alert('删除成功!') </script>";
         Page.RegisterStartupScript("",script);

        方法二:

         Response.Write("<script>alert('删除成功!')</script>");

        方法三:

         同下面的方法一。

2.需要用户确定的弹出消息。

        方法一:

        添加引用System.Windows.Forms.dll

        添加命名空间using   System.Windows.Forms;(然后可能需要重新生成一下文件)

        然后同Winform里的MessageBox一样了(MessageBox.Show(参数1,......));

        例:        if (MessageBox.Show("你确定要删除?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes){} else{}

      方法二:

        在Page_load()或其他合适地方为按钮添加新的属性:

         btnDeleteAdmin.Attributes.Add("onclick", "return confirm('你确认要删除吗?')");

 

经常遇到这样的问题:便用Response.write()方法常常会导致页面布局改变,原因是因为script脚本改变了布局的CSS样式,可以使用客户端注册脚本,这样会解决页面变型的问题!

各种打开新页面的方式总结

 推荐使用方法

【1】Page.RegisterStartupScript("ServiceManHistoryButtonClick", "<script>window.open('" + url + "');</script>"); 

【2】 Page.RegisterStartupScript("", "<script>alert('投票成功,感谢您的参与!')</script>");

 

【0】最常用的打开方式

 Response.Write("<script language='javascript'>window.open('"+ url+"');</script>");

【1】直接转向新的页面,原窗口被代替;

 Response.Redirect("XXX.aspx",true)

【2】原窗口保留,另外新增一个新页面;
 Response.Write("<script>window.open('XXX.aspx','_blank')</script>")

【3】打开新的页面,原窗口被代替;

 Response.Write("<script>window.location='XXX.aspx'</script>")

【4】打开新的页面;

 Server.Transfer("XXX.aspx")

  说明,常用于传递session变量的页面跳转!

【5】原窗口保留,以对话框形式打开新窗口;

 Response.Write("<script>window.showModelessDialog('XXX.aspx')</script>")

【6】对话框形式打开新窗口,原窗口被代替;

 Response.Write("<script>window.showModelDialog('XXX.aspx')</script>")

【7】打开简洁窗口
Respose.Write("<script language='javascript'>window.open('"+url+"','','resizable=1,scrollbars=0,status=1,menubar=no,toolbar=no,location=no,     menu=no');</script>");

你可能感兴趣的:(manager)