asp.net 弹出窗口的方法
平时在写弹出窗口的时候经常用到Response.Write("<script>alert('......')</script>");弹出窗口后原先的页面就会白屏,也有人说页面结构会改变,我不知道是什么意思。
在网上搜了一下关于弹出alert窗口的方法,用到了clientScriptManage类的RegisterStartupScript方法解决页面白屏和变形问题。在msdn上查看了ClientScriptManage类中这个方法的使用说明,大概如下:
两个重载方法:RegisterStartupScript(Type,String,String);
RegisterStartupScript(Type,String,String,Bool);
这两个方法的主要区别是:第一个方法的脚本必须写在<script>元素块中,而第二中方法中根据bool值确定是否添加<script>元素块。例如下面的代码:
ClientScriptManager cs = Page.ClientScript; cs.RegisterStartupScript(this.GetType(),"yourName","<script>alert('必须添加<script>元素块>')</script>"); cs.RegisterStartupScript(this.GetType(),"yourName2","alert('不用添加<script>元素块')",true); cs.RegisterStartupScript(this.GetType(),"yourName3","<script>alert('不用添加<script>元素块')</script>",false);
另外ClientScriptManager类还有连个常用的方法RegisterClientScriptBlock和RegisterClientScriptInclude;
详情请查看msdnhttp://msdn.microsoft.com/zh-cn/library/system.web.ui.clientscriptmanager.aspx
RegisterClientScriptBlock是将script脚本添加到<form>标签后,
而RegisterStartupScript是将脚本添加到</form>标签前,因此如果动态的script中有操作控件的代码,则应该使用RegisterStartupScript方法。
浙公网安备 33010602011771号