RegisterStartupScript(key, script) 等价于body.onload=f(){}里的内容?!

来源:互联网
更新时间:2017/1/12 19:28:20
责任编辑:王亮
字体:

关于RegisterClientScriptBlock和RegisterStartupScript的区别,网上很多贴子是这么解释的:

这两个方法唯一的不同之处在于向“何处”注册脚本块。 ?????????RegisterClientScriptBlock(key, script)?在 form开始处(紧接 <form runat="server"> 标识之后)发送脚本块?????? ???????? 使用场景:? ? ? ? ? ? ? ?一般不使用DOM元素 ?????????RegisterStartupScript(key, script)?在 form结尾处(在 </form> 标识之前)发送脚本块,在document装载完成后会执行,等价于body.onload=f(){}里的内容 ???????? 使用场景:? ? ? ? ? ? ? ?一般要使用DOM元素,比如:修改dom元素的值等 实验一下,我们发现: RegisterClientScriptBlock(key, script) 在 form开始处(紧接 <form runat="server"> 标识之后)发送脚本块? RegisterStartupScript(key, script) 在 form结尾处(在 </form> 标识之前)发送脚本块 这是这两个方法的区别。但问题是: 在 form结尾处(在 </form> 标识之前)发送脚本块,等价于body.onload=f(){}里的内容吗?显然不是啊! 比如, 如果我们的DOM对象放在<form></form>之后,在body.onload中的JS函数,仍然是可以访问的,但放在 RegisterStartupScript(key, script) 仍然无法访问! ? ? ? 比如下面的页面结构: ? <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="1.aspx.cs" Inherits="rent._1" %> ? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ?<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> ? ? <title></title> ? ? <script type="text/javascript"> ? ? ? ? function f() { ? ? ? ? ? ? alert(document.getElementById("spn1").innerText); ? ? ? ? } ? ? </script> </head> <body> ? ? <form id="form1" runat="server"> ? ? <div> ? ?? ? ? </div> ? ? </form> ? ? <spn id="spn1">Span Text</spn> </body> </html>

用下面的方法扫行f(),JS是无法取得DOM对象spn1的:

protected void Page_Load(object sender, EventArgs e)

? ? ? ? {

? ? ? ? ? ? RegisterStartupScript("scr_login", "<script type=\"text/javascript\">f();</script>");

? ? ? ? }

? ? }

?

?

所以,结论是:

RegisterStartupScript(key, script) 并不等价于body.onload=f(){} ? ? 关于RegisterClientScriptBlock和RegisterStartupScript的区别,只是前者被放在了<form>之后, ? 而后者放了在了</form>之前(能够访问form之前和form之中,但不能访问form之后的DOM对象),仅此而已!
www.xue163.com true /3961/39610209.html report 12516 RegisterStartupScript(key,script)等价于body.onload=f(){}里的内容?!,关于RegisterClientScriptBlock和RegisterStartupScript的区别,网上很多贴子是这么解释的:这两个方法唯一的不同之处在于向“何处”注册脚本块。?????????RegisterClientScriptBlock...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号
荐闻 | 学网头条知识问答 | 装修 | 作业 | 荐闻 | 学网头条精彩微信 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 猎奇 | 精彩看点 | 图库 | 新闻中心 | 软件教室 | 设计大全 | 网络相关 | 英语学习 | 开发编程 | 考试中心 | 参考范文 | 管理文库 | 营销中心 | 站长之家 | IT信息中心 | 商学院 | 数码大全 | 硬件DIY | 企业服务 | 网吧在线 | 问吧 | 百科 | 硬件知识 | 本网视点 | 文库 | 手机 | 平板 | 汽车 | 游戏 | 家电 | 精彩摄影 | 时尚科技 | 现代家居 | IT女人 | 经验 | 每日新闻 | 健康养生 | 图书馆 | 精彩微信 | 猎奇 | 精彩看点 | 图库编程 方案 信息windows方案windows answer文档机构教育文档问答中心IT编程数码信息解决方案信息中心IT科技