2011-02-08 24 views
0

我创建了一个使用递归创建菜单的服务器控件。它本质上输出嵌套列表和锚内。使用递归服务器控件时,多个WebResources输出为html

现在,这个工作完美,但是,由于控件调用本身来呈现子菜单,它也呈现多个相同的WebResource.axd JavaScript文件引用。

任何想法如何阻止这种情况发生?我只想要我的标签中的一个参考。

回答

0

我最终通过使形式的私有构造解决我自己的问题:

private CustomControl(int level) 
{ 
    this._Level = level + 1; 
} 

公共构造看起来像:

public CustomControl() : base() 
{ 
    _Level = 1; 
} 

然后,在OnInit输出的客户端脚本时方法,我检查是否_Level == 1,只输出客户端脚本如果_Level == 1,像这样:

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 

    if(_Level == 1) 
    { 
    // Add client scripts to this.Page.Header.Controls 
    } 
} 

我不确定这是否是最好的方法,但它对我有用。