平时在写弹出窗口的时候经常用到Response.Write("");弹出窗口后原先的页面就会白屏,也有人说页面结构会改变,我不知道是什么意思。
在网上搜了一下关于弹出alert窗口的方法,用到了clientScriptManage类的RegisterStartupScript方法解决页面白屏和变形问题。在msdn上查看了ClientScriptManage类中这个方法的使用说明,大概如下:
两个重载方法:RegisterStartupScript(Type,String,String);
RegisterStartupScript(Type,String,String,Bool);
这两个方法的主要区别是:第一个方法的脚本必须写在
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(this.GetType(),"yourName","");
cs.RegisterStartupScript(this.GetType(),"yourName2","alert('不用添加
cs.RegisterStartupScript(this.GetType(),"yourName3","",false);
另外ClientScriptManager类还有连个常用的方法RegisterClientScriptBlock和RegisterClientScriptInclude;
RegisterClientScriptBlock是将script脚本添加到
标签后,而RegisterStartupScript是将脚本添加到
标签前,因此如果动态的script中有操作控件的代码,则应该使用RegisterStartupScript方法。