RegisterStartupScript和RegisterClientScriptBlock

RegisterStartupScript和RegisterClientScriptBlockPage.Response.Write(“varresponse;”);    Page.RegisterStartupScript(“RegisterStartupScript”,”varRegisterStartupScript;”);    Page.RegisterClientScriptBlock(“RegisterClientScriptBlock”,”varRe

Page.Response.Write(“<script>var response;</script>”);    

Page.RegisterStartupScript(“RegisterStartupScript”,”<script>var RegisterStartupScript;</script>”);    

Page.RegisterClientScriptBlock(“RegisterClientScriptBlock”,”<script>var RegisterClientScriptBlock;</script>”);   

Response.Write输出后的位置在源文件的第一行.

RegisterClientScriptBlock输出后的位置会在<form>的下一行.(在asp.net自带的脚本和一些隐藏域之下).

RegisterStartupScript输出后的位置会在</form>的上一行.

RegisterClientScriptBlock的原型与RegisterStartupScript相同,两个函数不同在于将其包含的脚本代码写入到HTML文件的不同位置.RegisterClientScriptBlock在 Page 对象的 元素的开始标记后立即发出客户端脚本,RegisterStartupScript则是在Page 对象的 元素的结束标记之前发出该脚本。如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock或Response.Write。

RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body     “f()”里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form     runat=server>之后,而RegisterStartupScript在</form>之前。   

补充一下相关的,这两个函数的连续使用确保在9次以内,否则写入的SCRIPT语句的顺序会不同于你预想的,因为关乎存储那些SCRIPT们的容器,当超过9个后,从LISTDICTIONARY转为HASHTABLE,大家知道一HASH了就顺序不补的了

今天的文章RegisterStartupScript和RegisterClientScriptBlock分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/5676.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注