我创建了一个服务器控件,它使用递归来创建菜单。它本质上输出嵌套列表,其中包含锚点。
现在,这非常有效,但是,由于控件正在调用本身来呈现子菜单,因此它还会呈现多个相同的WebResource.axd javascript文件引用。
知道如何阻止这种情况发生吗?我只想在我的标签中使用一个参考。
答案 0 :(得分: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
}
}
我不确定这是不是最好的方法,但它对我有用。