我创建了一个使用递归创建菜单的服务器控件。它基本上输出嵌套列表,其中包含锚点。
现在,这完美地工作了,但是,由于控件正在调用自身来呈现子菜单,因此它也在呈现多个相同的 WebResource.axd javascript 文件引用。
知道如何阻止这种情况发生吗?我只想要标签中的一个引用。
我创建了一个使用递归创建菜单的服务器控件。它基本上输出嵌套列表,其中包含锚点。
现在,这完美地工作了,但是,由于控件正在调用自身来呈现子菜单,因此它也在呈现多个相同的 WebResource.axd javascript 文件引用。
知道如何阻止这种情况发生吗?我只想要标签中的一个引用。
我最终通过创建一个私有构造函数来解决我自己的问题:
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
}
}
我不确定这是否是最好的方法,但它对我有用。