我正在为一个包含ASP.Net控件的项目添加新的控件。每个控件实际上由一个继承ScriptControl的.Net类和一个javascript文件组成。每个js文件都作为WebResource添加到程序集中。
[assembly: WebResource("Assembly.Namespace.WidgetControl.js", "text/javascript")]
[assembly: WebResource("Assembly.Namespace.CogControl.js", "text/javascript")]
我想从另一个javascript资源中的“类”继承,因为否则我将需要复制/粘贴该js类中一些函数代码,这样做很丑陋,也不利于维护。我不喜欢重复努力。
现在,我需要的是WebResource的加载顺序。假设,仅供演示目的,我想从
WidgetControl.js
类中继承,并使用ThingaMahBobControl.js
进行扩展。是否在Widget之后添加ThingaMahBob的WebResource程序集引用可以保证加载顺序?我不能从尚未加载的内容继承,所以这很重要。由于控件正在继承抽象的ScriptControl,它必须实现
GetScriptReferences()
,所以按所需顺序返回可枚举的引用集合是否有效?即:protected override IEnumerable<ScriptReference> GetScriptReferences()
{
List<ScriptReference> refs = new List<ScriptReference>();
refs.Add(new ScriptReference("Assembly.Namespace.WidgetControl.js", this.GetType().Assembly.FullName));
refs.Add(new ScriptReference("Assembly.Namespace.ThingaMahBobControl.js", this.GetType().Assembly.FullName));
return refs;
}