ASP.Net页尾中添加JavaScript的最佳方法实战分享
如何将 JavaScript 脚本或库添加到 asp.net 页的末尾,在页面的结束标记之前?总结了几种方法作为参考
1 使用 RegisterClientScriptInclude 更好地对 JavaScript 库 (JsFile.js) 的引用:
代码如下:
if (!Page.ClientScript.IsClientScriptIncludeRegistered("jsFileInclude"))
Page.ClientScript.RegisterClientScriptInclude("jsFileInclude", "JsFile.js");
在viewstate数据的文档开头添加 JavaScript 库参考。
2 若要将一些 JavaScript 代码插入到页面, 你可以使用 RegisterStartupScript 方法 :
代码如下:
string jsCodeBlock = "var MyStr='here'; alert(MyStr);";
if (!Page.ClientScript.IsStartupScriptRegistered("myJsCode"))
Page.ClientScript.RegisterStartupScript(typeof(string), "myJsCode", jsCodeBlock, true);
Javascript 代码将添加到文档的末尾。
当最后一个参数设置为 true,.net 框架将自动添加在script标签的开始和结束里面 (或与其他生成的 JavaScript 代码,根据相同的脚本标记进行代码合并)。
但是我们还可以使用 RegisterStartupScript 方法,在文档末尾处加载对 JavaScript 库的引用,我们写出完整的js文件,并将最后一个参数设置为 false:
代码如下:
string jsFile = "<script src=\"JsFile.js\" Type=\"text/javascript\"></script>";
if (!Page.ClientScript.IsStartupScriptRegistered("myJsFileRef"))
Page.ClientScript.RegisterStartupScript(typeof(string), "myJsFileRef", jsFile, false);
相关推荐
-
从javascript语言本身谈项目实战
从javascript语言本身谈项目实战 dulao5 2005-1-15 随着ajax的升温,javascript越来越得到人们的重视.重要的是,ajax在一定程度上带来了web软件架构上的变化,人们把越来越多的功能分配到客户端实现,javascript子项目规模越来越大.如何更高效的使用javascript,如何更科学的组织javascript,如何更顺利的保证项目进展?我想就我的经验谈一点浅见. 一
-
Javascript 多浏览器兼容总结(实战经验)
一.document.formName.item("itemName") 问题 问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements["elementName"]:Firefox下,只能使用document.formName.elements["elementName"]. 解决方法:统一使用document.formName
-
JavaScript设计模式之工厂模式和构造器模式
什么是模式 前阵子准备期末考试,劳神又伤身的,实在闲不得空来更新文章,今天和大家说说javascript中的设计模式. 首先呢,我们需要知道的是:模式是一种可复用的解决方案,而反模式呢就是针对某个问题的不良解决方案. js反模式常见例子 1.向setTimeout和setInterval传递字符串,而不是函数,这会触发eval()的内部使用. 2.在全局上下文中定义大量的变量污染全局命名空间 3.修改Object类的原型 4.以内联形式使用js,嵌入在HTML文件中的js代码是无法包含在外部单元
-
如何确保JavaScript的执行顺序 之实战篇
1. 引言 我曾在文章<如何在多个页面使用同一个HTML片段 - 续>的最后提到JavaScript顺序执行的特性.虽然现代浏览器可以并行的下载JavaScript(部分浏览器),但考虑到JavaScript的依赖关系,他们的执行依然是按照引入顺序进行的. 为了更好的测试这个过程,我写了一个简单的HTTP处理程序页面 service.ashx,它可以接受两个参数: 1. file,需要返回文件的服务器端路径. 2. delay,延迟一定时间后再返回本次HTTP请求(毫秒). 一个典型的页面比如
-
深入理解JavaScript系列(28):设计模式之工厂模式详解
介绍 与创建型模式类似,工厂模式创建对象(视为工厂里的产品)时无需指定创建对象的具体类. 工厂模式定义一个用于创建对象的接口,这个接口由子类决定实例化哪一个类.该模式使一个类的实例化延迟到了子类.而子类可以重写接口方法以便创建的时候指定自己的对象类型. 这个模式十分有用,尤其是创建对象的流程赋值的时候,比如依赖于很多设置文件等.并且,你会经常在程序里看到工厂方法,用于让子类类定义需要创建的对象类型. 正文 下面这个例子中,是应用了工厂方法对第26章构造函数模式代码的改进版本: 复制代码 代码如下
-
Javascript面向对象设计一 工厂模式
1.工厂模式抽象了创建具体对象的过程,但是在ECMAScript中无法创建类,所以就使用一种函数来封装以特定接口创建对象的细节.以一下情况为例, 有一个员工类,有姓名.年龄.职位属性, 复制代码 代码如下: function CreateEmployee(name, age, job) { var Emp = new Object(); Emp.name = name; Emp.age = age; Emp.job = job; Emp.sayName = function () { alert
-
javascript 模式设计之工厂模式学习心得
模式类型:工厂模式 模式说明:常用模式之一,用来动态创建对象 适用范围:在运行期间需要在一系列可互换的子类中进行选择的类 注意事项:接口的实现,从而使不同子类可以被同等的对待,恰当的使用工厂模式,但不要拘泥与形式,理解本质. 关键点:以 函数/类/子类 构建的选择器 本质:函数作为选择器的使用 一般使用形式: 作为独立的选择器存在: 复制代码 代码如下: function FactoryMode(index){ switch(index){ case "index1" : return
-
Javascript设计模式理论与编程实战之简单工厂模式
阅读目录 基本介绍 举例说明 总结说明 简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 而这些实例经常都拥有相同的接口. 这种模式主要用在所实例化的类型在编译期并不能确定, 而是在执行期决定的情况. 说的通俗点,就像公司茶水间的饮料机,要咖啡还是牛奶取决于你按哪个按钮. 简单工厂模式在创建ajax对象的时候也非常有用. 通常我们创建对象最常规的方法就是使用new关键字调用构造函数,这会导致对象之间的依赖性.工厂模式是一种有助于消除类之间依赖性的设计模式,它使用一个方法来决定要实例化哪一个
-
JavaScript 模式之工厂模式(Factory)应用介绍
工厂模式也是对象创建模式之一,它通常在类或类的静态方法中去实现.构造对象的一种方式是使用new操作符,但使用new时正是针对实现编程,会造成"耦合"问题,与具体的类关系紧密.导致代码更脆弱,缺乏弹性,在复杂逻辑的项目中建议是面向接口编程. 先看简单工厂模式 复制代码 代码如下: Person(name, age) { var obj = {} obj.name = name obj.age = age return obj } var p1 = Person('jack', 25) v
-
javascript抽象工厂模式详细说明
抽象工厂模式说明 1. 工厂方法模式的问题: 在工厂方法模式里,创建类都需要通过 工厂类,如果要扩展程序,就必须修改工厂类,这违背了闭包原则,对扩展开放,对修改关闭:对于设计有一定的问题. 2. 如何解决:就要用到抽象工厂模式,就是对功能类单独创建工厂类,这样就不必修改之前的代码,又扩展了功能. 3. 工厂模式其实就是对 实现同一接口的 实现类 的 统一 工厂方式创建调用,但 javascript 没有接口这号东西,所以就去掉这一层 实现,但位功能类的成员及方法都应当一样; 抽象工厂源码
-
经典JavaScript正则表达式实战(附pdf)
关于测试代码 本文不是使用Dreamweaver编辑,以下测试代码可能已经在赋值粘贴的过程做了一些调整,可能执行失效.可以参看本文的pdf版本. 匹配结尾的数字 如 复制代码 代码如下: 30CAC0040 取出40 3SFASDF92 取出92 正则如下:/\d+$/g 统一空格个数 字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个. 例如:蓝 色 理 想 变成:蓝 色 理 想 aobert的正则: 复制代码 代码如下: <script type="tex
-
JavaScript设计模式之抽象工厂模式介绍
抽象工厂模式说明 1. 工厂方法模式的问题: 在工厂方法模式里,创建类都需要通过 工厂类,如果要扩展程序,就必须修改工厂类,这违背了闭包原则,对扩展开放,对修改关闭:对于设计有一定的问题. 2. 如何解决:就要用到抽象工厂模式,就是对功能类单独创建工厂类,这样就不必修改之前的代码,又扩展了功能. 3. 工厂模式其实就是对 实现同一接口的 实现类 的 统一 工厂方式创建调用,但 javascript 没有接口这号东西,所以就去掉这一层 实现,但位功能类的成员及方法都应当一样; 抽象工厂源码例子 1
-
javascript 模式设计之工厂模式详细说明
模式类型:工厂模式 模式说明:常用模式之一,用来动态创建对象 适用范围:在运行期间需要在一系列可互换的子类中进行选择的类 注意事项:接口的实现,从而使不同子类可以被同等的对待,恰当的使用工厂模式,但不要拘泥与形式,理解本质. 关键点:以 函数/类/子类 构建的选择器 本质:函数作为选择器的使用 一般使用形式: 作为独立的选择器存在: 复制代码 代码如下: function FactoryMode(index){ switch(index){ case "index1" : return
-
javascript设计模式之工厂模式示例讲解
javaScript工厂方式原始的方式因为对象的属性可以在对象创建后动态定义,这在 JavaScript 最初引入时都会编写类似下面的代码 复制代码 代码如下: var oCar = new Object;oCar.color = "blue";oCar.doors = 4;oCar.mpg = 25;oCar.showColor = function() { alert(this.color);}; 在上面的代码中,创建对象 car.然后给它设置几个属性:它的颜色是蓝色,有四个门,
随机推荐
- django定期执行任务(实例讲解)
- JavaScript 事件对象的实现
- Servlet+Ajax实现智能搜索框智能提示功能
- asp.net FCKeditor 2.6.3 配置说明
- Jquery组件easyUi实现手风琴(折叠面板)示例
- 零基础写Java知乎爬虫之将抓取的内容存储到本地
- js在数组中删除重复的元素自保留一个(两种实现思路)
- 一个高ai的分页函数和一个url函数
- PHP实现操作redis的封装类完整实例
- Bootstrap 布局组件(全)
- php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
- php实现产品加入购物车功能(1)
- Python isinstance判断对象类型
- 深入理解bootstrap框架之第二章整体架构
- Typecho程序伪静态规则大全(包括Linux/Windows)
- jQuery实现可收缩展开的级联菜单实例代码
- 微信小程序开发教程之增加mixin扩展
- python正则表达式之作业计算器
- PHP APC缓存配置、使用详解
- C#多线程经典示例(吃苹果)