我有一个层次结构,下面我的网站项目:替代在接口的静态方法 - 强制在asp.net定制实现类级别的方法来控制
[CustomControl1 - folder]
- CustomControl1.ascx
- CustomControl1.css
- CustomControl1.js
我加载CSS和JS文件dynamicaly在此基础上控件在特定页面上使用。我用下面的代码做它:
protected void Page_Load(object sender, EventArgs e)
{
CustomControl1.AddLinks(Page.Header);
CustomControl2.AddLinks(Page.Header);
...
}
其中AddLinks
方法添加HtmlLink
控件Page.Header
与href
属性设置为coresponding css和/或js文件。
我想添加接口,将强制新控件具有AddLinks方法但它是不可能的,因为它是一种静态方法。因为我的自定义控件继承自Control类,所以我不能使用抽象类和/或虚拟方法。我怎样才能实现我的目标?
注:
我知道,类似的问题(在接口有关的静态方法)是在此之前发布的,但我没有找到妥善的解决办法在那里。 (或者我太noobish知道这是一个妥善的解决办法;-)
我不想因为我的UpdatePanel添加它们不完全回发,用户请求的任何后使用'controlInstance.Method()'模式。所以我知道页面上可以使用哪些控件,但我不知道何时何地。但是我会看看上面提到的'Page.ClientScript',谢谢! – zgorawski 2010-10-28 10:25:10
Bah,'Page.ClientScript'将帮助我管理.js文件,但没有.css,因为我无法以简单的,兼容xhtml的方式添加它们。 – zgorawski 2010-10-29 06:36:22