ASP.NET之Javascript本的应用

在后台写JavaScript脚本时,要用到ClientScriptMannger类
eg:
string stralert = "<script>alert('你好!')</script>";
ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(this.GetType(),"alert",stralert);
知道为什么吗?
Response.Write("<script>alert('你好!')</script>");这样用不是更简单吗?
答案是否定的。
因为生成JavaScript脚本的位置不一样,这也是为什么页面背景发白的原因。
这又是为什么呢?
因为HTML代码是顺序执行的, Response.Write("<script>alert('你好!')</script>");
生成下面的HTML页
<script>alert('你好!')</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="" >
<head><title>
无标题页
</title>
......
所以只到用户点击确定之前,页面中其它的元素不会呈现。所以页面发白的原因。
而前一种用ClientScriptMannger类向页面Page注册执行的JavaScript脚本代码会把脚本生成
在</from>之前,例如
......
<script>alert('删除成功!')</script></form>
所以页面中的元素全都呈现在用户眼前。
并且 Response.Write("<script>alert('你好!')</script>");会改变页面样式。
所以的所以,
在后台写JavaScript脚本时,要用到ClientScriptMannger类