RegisterClientScriptBlock :在 Page 对象的 <form runat= server> 元素的开始标记后立即发出客户端脚本。
RegisterStartupScript与 RegisterClientScriptBlock 方法类似,该方法在 Page 对象的 <form runat= server> 元素的结束标记之前发出该脚本。
----
<form..>
......
</form>

解决方案 »

  1.   

    RegisterClientScriptBlock在 Page 对象的 <form> 元素的开始标记后立即发出客户端脚本。
    RegisterStartupScript则在 Page 对象的 <form> 元素的结束标记之前发出该脚本。
      

  2.   

    下面是我找到的:
    Response.Write("<script>");输出在文件头部,一打开就执行。
    RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body onload="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。---------------------------------------------------------------  Page.RegisterClientScriptBlock  和  Page.RegisterStartupScript  有啥区别?  
     
    Page.RegisterClientScriptBlock  
    脚本将会被放在紧挨</form>的前面。  
     
    Page.RegisterStartupScript  
    脚本将会被放在紧挨<form  runat="server">后几个隐藏的input的后面。  
     
    如果你仅仅是注册一些函数,这两者的效果是一样的。  
    而RegisterStartupScript会将内容输出在</form>标记之前,Form上其他任何元素之后,这样可以保证StartupScript被浏览器执行之前其他的页面元素已经被正确的实例化。
      

  3.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=3D5C9BED-5F15-4116-C3FE-662DE4B48864
      

  4.   

    String cs1 = "<script language=JavaScript>";
    cs1 += "DoSetAgain();";
    cs1 += "</script>"; //注意:这里不能用RegisterClientScriptBlock. //因为RegisterStartupScript是在
    //Page 对象的 <form runat= server> 元素
    //的结束标记之前发出该脚本; //而RegisterClientScriptBlock则是在
    //Page 对象的 <form runat= server> 元素
    //的开始标记后发出。 if(!this.IsStartupScriptRegistered("cs1"))
    this.RegisterStartupScript("cs1", cs1);