Response.Write() 造成css样式丢失的解决方案
ASP.NET中写按钮响应事件,需要新建弹窗。
原本写法是
Response.Write(“<script>window.open(‘” + dt.Rows(i).Item(“taskUrl”).ToString + “‘,’_blank’)</script>”)
运行中发现点击按钮后,页面样式表丢失。查阅资料后发现Response.Write()输出JavaScript的确会造成这样的问题,需要调整写法
ClientScript.RegisterStartupScript(Me.GetType(), “”, “<script>window.open(‘” + dt.Rows(i).Item(“taskUrl”).ToString + “‘,’_blank’)</script>”)
测试后CSS丢失的问题果然解决,不过又出现新状况,弹窗只出现了一次,原来ClientScript.RegisterStartupScript的第二个参数key如果不变的话,只会识别第一段代码,循环输出的其他脚本不会执行,略作调整
ClientScript.RegisterStartupScript(Me.GetType(), “ahfun” + i.ToString, “<script>window.open(‘” + dt.Rows(i).Item(“taskUrl”).ToString + “‘,’_blank’)</script>”)
搞定!
回复