如题,请高手帮下忙

解决方案 »

  1.   

    除了位置外
    RegisterClientScriptBlock,RegisterStartupScript 是NET Framework 2.0 版中是新增的。RegisterStartupScript 方法添加的脚本块在页面加载完成但页面的 OnLoad 事件引发之前执行。
     RegisterClientScriptBlock 方法在已呈现的页的顶部添加一个脚本块。
    跟Response.Write差不多,一输出就执行了
      

  2.   

    RegisterClientScriptBlock,RegisterStartupScript 在 asp.net 1.0时代(8年前)就支持了。Page.RegisterClientScriptBlock和Page.RegisterStartupScript在2.0中实际上被标记为“已过时”,而希望使用Page.ClientScript.RegisterClientScriptBlock和Page.ClientScript.RegisterStartupScript。这就引出一个问题,就是一些人总是“习惯”Response.Write代码,似乎它才是最基本的写法。实际上asp.net的历史根本不是这样。我是从vs2002就开始用asp.net1.0的,那时候我打开浏览器端的html源代码看到Response.Write输出的东西堆在<html></html>的前面而破坏了基本的html协议格式,我实际上就在程序中“不允许”Response.Write这种写法。那时候就可以并且应该使用RegisterClientScriptBlock,RegisterStartupScript。这在今天还是一样的,如果你真的学过使用html/javascript开发过网页,你就会对html格式有直觉,就会对Response.Write破坏html格式完整性有认识。因此,如果讨论Response.Write方式“生成JS代码”有什么作用,如果你从客户端打开html源代码看到连基本的html都破坏了,那么就根本不应该使用它。它什么时候用?例如你写下载文件的页面(总是有一个Response.End代码)这类完全使用Response.Write输出全部内容时才使用它。
      

  3.   


    那RegisterClientScriptBlock,RegisterStartupScript的区别呢???