Response.Write结合alert使用的作用就在在用户进行了一项操作之后,给予提示,这么操作非常方便。但是有的时候,当我们使用类似Response.Write(“<script>alert(‘成功’)</script>”);就会发现点了“确定”之后,原来的CSS文件不起作用了,比如原来居中的DIV跑到默认的左边了。这个就是Response.Write结合alert使用的一个弊端。
其解决方案为:Page.RegisterClientScriptBlock("ok","<script language=javascript>alert('发送成功')</script>");这样写虽然看着会复杂些,但是却可以不去破坏原有CSS样式。
另外说到RegisterClientScriptBlock,其功能就是“向响应发出客户端脚本块”,是注册在body最前面,与其对应的为RegisterStartupScript是注册在 body 最后面。功能相同,只是注册时间不同,这主要用于对性能的优化,在必要时使用RegisterClientScriptBlock。
别外,现在微软的推荐用法已由Page.RegisterClientScriptBlock("ok","<script language=javascript>alert('发送成功')</script>");改为:ClientScript.RegisterClientScriptBlock(this.GetType(), "123", "alert('发送成功');", true);