如何管理Ajax扩展器控件的javascript依赖
How to manage javascript Dependency for Ajax Extender controls
Ajax Extender控件基是否提供依赖管理?我正在创建一组使用行为使用的几个基本脚本的控件,并从这里创建一个扩展器控件它的样子,我将不得不包括我的基本脚本在每一个单一的控制代码。因此,扩展程序基是否为每个控件提供相同的脚本[缓存的脚本],或者为每个控件提供相同的脚本。
例如,我正在开发依赖于jQuery的控件。由于我正在开发扩展器控件,我将不得不从下面的接口实现这个方法,注意jquery脚本!
protected override IEnumerable<ScriptReference> GetScriptReferences()
{
ScriptReference reference = new ScriptReference();
reference.Path = ResolveClientUrl("jQuery.js");
reference.Path = ResolveClientUrl("FocusBehavior.js");
return new ScriptReference[] { reference };
}
现在我将有相同的jquery脚本在另一个控件,所以这是否意味着他们服务两次,如果两个控件在同一页面?还有一个问题,
如何使扩展程序控制输出生产脚本而不是调试脚本另外,用scriptmanager注册脚本对我来说不是一个选项,因为我使用不需要脚本管理器的主页。
一些规范:
在VS2005中开发
。Net 2.0, asp。NET 2.0
脚本依赖于Sizzle, emile.js, spine.js这些是所有控件所需的基本脚本
我相信ASP。. NET框架在其渲染过程中正确处理重复的ScriptReference
对象。. NET控件可以存在于页面上的多个实例中。
例如,在ASP。. NET页面你可以做:
<act:Calendar runat="server" ID="calendar1"/>
<act:Calendar runat="server" ID="calendar2"/>
这两个控件依赖于相同的脚本,但是框架不会加载它们两次。
在您的情况下,您可能想要这样做:
protected override IEnumerable<ScriptReference> GetScriptReferences()
{
List<ScriptReference> references = new List<ScriptReference>();
#if DEBUG
// Load Debug Version
references.Add(new ScriptReference(ResolveClientUrl("~/Path_To_Your_Debug_JS.js"));
#else
// Load Minified Version
references.Add(new ScriptReference(ResolveClientUrl("~/Path_To_Your_Release_JS.js"));
#endif
return references;
}
这应该允许你提供调试或发布(缩小)版本的Javascript文件,这取决于是在调试或发布模式。
我不确定你关于你的主页不需要ScriptManager
的评论。我将假设您有某种机制来处理ScriptManager
的职责,例如在控件上调用GetScriptReferences()
方法并处理这些脚本标记的呈现。
- 获取中继器控件ASP.Net中显示的单击项目文本框
- 如何使用ngModel将自定义控件的提供程序扩展器分离到Angular 2中的单独文件中
- 中继器控件内的 IF 条件
- Div 高度不会根据子控件自动扩展
- 如何向JavaScript计时器添加控件
- 如何使用angular js验证器执行下拉控件验证
- 多个 YouTube 播放器,位于选项卡式角度 UI 控件中.想要添加折叠
- asp.net ajaxtoolkit 自定义控件扩展器
- 可编辑的、扩展的引导输入列表控件
- 水星编辑器 0.9 - 内容 iFrame 位于编辑器控件后面,高度错误
- 如何在WordPress中隐藏定制器控件
- 如何在 ajax javascript 中设置计时器控件
- 传单:使用分组图层控件插件扩展自定义控件
- 如何在绘图管理器控件的按钮上添加事件侦听器
- 如何在流播放器中隐藏控件
- 在网站中集成场景 7 浮出控件查看器
- 使用自定义控件制作HTML5视频/音频播放列表播放器
- 如何在javascript中的其他地方引用控件包装器的值
- 使用弹出控件扩展程序Asp.net在更新面板内维护滚动位置复选框列表
- 如何管理Ajax扩展器控件的javascript依赖