Asp.net中的JavaScript使用之一动态创建javaScript
来源:互联网 发布:91助手 ios5软件 编辑:程序博客网 时间:2024/05/16 08:05
我们都知道JavaScript是运行在客户端的脚本,一般是包含在aspx页面文件中,但是在实际开发中经常会遇到这样一些问题:比如服务器端的代码需要动态生成或调用JavaScript代码,或者JavaScript代码需要调用服务器端的程序代码,这时候有些初学者就摸不着头脑了,不知怎样办才好(其实写此文的初因就是有朋友在我的qq群中问到了这个问题,因为这个问题较为常见,但是一两句话也说不清楚,所以就有了此文。)
通常境况下,js脚本不是包含在aspx中的script标签中,就是放在.js文件中然后被引用,这两点大家应该都很清楚,我就不在这里赘述了,那么假设服务器端需要动态的把js代码传送给浏览器,这该怎么处理呢?这就需要使用ClientScriptManager类来动态的创建javaScript,关于ClientScriptManager类的详细描述,大家可以参看msdn文档(http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.aspx)我在这里用msdn文档中的例子做个简单说明
根据实际情况我们选择调用ClientScriptManager对象的下列方法将js代码加到页面中
1、RegisterClientScriptBlock
该方法能够把js代码加入到页面的开始处。并且如果你有多个js代码使用RegisterClientScriptBlock方法注册到客户端,则它们的调用顺序并不一定和它们的注册顺序一致,如果你非常关心这些js代码的执行顺序,请用stringBuilder把它们合并到一起,作为整体然后用该方法注册到客户端。(The RegisterClientScriptBlock method adds a script block to the top of the rendered page. Thescript blocks are not guaranteed to be output in the order they are registered.If the order of the script blocks is important, use a StringBuilder object to gather the scripts together in a single string, andthen register them all in a single client script block.)
2、RegisterClinetScriptInclude
此方法类似上面的方法,不一样的地方是它动态添加的是一个js文件的引用
3、RegisterStartupScript
根据msdn文档上的说明这段脚本的添加到页面的时机应该在页面加载完毕之后,OnLoad事件触发之前。和上述方法一样如果你有多个js代码使用RegisterClientScriptBlock方法注册到客户端,则它们的调用顺序并不一定和它们的注册顺序一致,如果你非常关心这些js代码的执行顺序,请用stringBuilder把它们合并到一起,作为整体然后用该方法注册到客户端。(The script block added by the RegisterStartupScript method executes when the page finishes loading but before the page'sOnLoad event is raised. The script blocks are not guaranteed to beoutput in the order they are registered. If the order of the script blocks isimportant, use a StringBuilder object to gather the scripts together in a single string, andthen register them all in a single client script block)
4、RegisterOnSubmitStatement
此方法动态添加的js代码会在页面被提交(Submit)之前执行。
为了确保我们所添加的js代码没有重复,ClientScriptManager为我们提供了相对应的4个方法来做判断:
IsClientScriptBlockRegistered
IsClientScriptIncludeRegistered
IsOnSubmitStatementRegistered
IsStartupScriptRegistered
- Asp.net中的JavaScript使用之一动态创建javaScript
- asp.net使用javascript中的alert
- ASP.NET动态注册Javascript
- asp.net 中的JavaScript应用
- asp.net中的JavaScript脚本
- ASP.NET中的javascript操作
- 使用Javascript,CSS和Ajax创建ASP.NET自定义控件
- 使用Javascript,CSS和Ajax创建ASP.NET自定义控件
- 使用Javascript,CSS和Ajax创建ASP.NET自定义控件
- Asp.net里使用javascript中的alert()显示变量
- ASP.NET与JavaScript联合操作之一 选择DataGrid中的CheckBox控件后该行背景变色
- ASP.NET与JavaScript联合操作之一 选择DataGrid中的CheckBox控件后该行背景变色
- asp.net 动态添加JavaScript方法
- asp.net 动态添加JavaScript方法
- ASP.NET Google Maps Javascript API V3 实战基础篇一动态创建折线
- Asp.net中的JavaScript使用之三javaScript访问服务器控件
- Asp.net中的JavaScript使用之三javaScript访问服务器控件
- Asp.net中的JavaScript使用之三javaScript访问服务器控件
- qt状态机的实现
- Ruby写的一个从iciba.com获取单词音标的小工具
- 转:用C#.net轻松制作不规则窗体
- 算法的力量 李开复
- 浮点寄存器
- Asp.net中的JavaScript使用之一动态创建javaScript
- OCP复习 - 管理(1-7) - 联机日志相关
- 如何将16进制表示的字符串转换为16进制数字
- 一文讲清楚Windows Mobile和Wince(Windows Embedded CE)的字符集问题
- VS2008不能自动绑定添加非控件变量,VS2010编译的程序不支持Windows2000
- javascript清空select标签下的options
- Eclipse下Lomboz插件安装
- OCP复习 - 管理(1-7) - 启动和关闭数据库
- 可变参数函数使用