后台往前台注册脚本

来源:互联网 发布:mongodb和mysql的区别 编辑:程序博客网 时间:2024/04/29 14:32

这两个方法的作用都是从前台向后台写脚本,且都接受两个字符串作为输入。第二个参数 script 是要插入到页面中的客户端脚本,包括 <script> 的起始标记和终止标记。第一个参数 key 是插入的客户端脚本的唯一标识符。

   这两个方法唯一的不同之处在于从“何处”发送脚本块。RegisterClientScriptBlock() 在 Web 窗体的开始处(紧接着 <form runat="server"> 标识之后)发送脚本块,而 RegisterStartupScript() 在 WEB 窗体的结尾处(在 </form> 标识之前)发送脚本块。

      RegisterStartupScript() 用于添加要在加载页面后运行的脚本块,通过这种方法添加的脚本块位于 WEB 窗体的结尾处,因为必须在脚本运行前定义脚本要修改的 HTML 元素。也就是说,如果您要使用客户端脚本将焦点设置到文本框,必须确保文本框的 HTML 标记位于设置该文本框的焦点的脚本之前。

      RegisterClientScriptBlock() 方法用于为响应客户端事件而执行的脚本代码。通过此方法发送的脚本块位于 WEB 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后,即它一般不使用文档内自定义的控件。 

     另外需要在后台注册的脚本里,不能有语法等错误,要不在生成的HTML里会是【<script>Methods()</script>找不到啊对象】,不会找到你自己写的function Methods(){}。此外,经过测试得知,在后台注册到前天的脚本代码,对脚本的放置位置有要求。当我将脚本放在</html>之后,也会提示【<script>Methods()</script>找不到啊对象】。但是如果将脚本放在<head>内或者<body>程序能正常运行。不知道算不算是MS的bug。

原创粉丝点击