ASP.NET – 阿房公的不老阁 https://www.ahfun.me 阿房公同志永吹不休 Fri, 03 Jun 2016 09:11:53 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.8.1 https://www.ahfun.me/wp-content/uploads/2016/03/cropped-ahfun-32x32.png ASP.NET – 阿房公的不老阁 https://www.ahfun.me 32 32 Response.Write() 造成css样式丢失的解决方案 https://www.ahfun.me/301.html https://www.ahfun.me/301.html#respond Fri, 03 Jun 2016 09:11:53 +0000 http://www.ahfun.me/?p=301 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>”)

搞定!

]]>
https://www.ahfun.me/301.html/feed 0