本文介绍了将ASP.Net菜单控件绑定到集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图使用这个代码绑定我的asp.net菜单控件到一个集合..
但它给我一个错误,我的集合现在IHierarchyEnumerable ..我明白为什么也。 p>
i am trying to use this code to bind my asp.net menu control to a collection..but its giving me an error that my collection is now IHierarchyEnumerable.. which I understand why too..
StringCollection sc = pos.getAllmembers();
Menu1.DataSource = pos.getAllmembers().GetEnumerator();
有办法解决这个问题。
推荐答案
菜单控件需要一个对象集合中实现。
The menu control requires a collection of IHierarcyData objects in a collection that implements IHierarchicalEnumerable.
从一个IHierarcyData类开始,该类存储StringCollection ...
Start with a IHierarcyData class that will store each string from the StringCollection...
public class MyMenuItem : IHierarchyData
{
public MyMenuItem(string s)
{
Item = s;
}
public override string ToString()
{
return Item.ToString();
}
#region IHierarchyData Members
public IHierarchicalEnumerable GetChildren()
{
return null;
}
public IHierarchyData GetParent()
{
return null;
}
public bool HasChildren
{
get { return false; }
}
public object Item
{
get; set;
}
public string Path
{
get { return string.Empty; }
}
public string Type
{
get { return string.Empty; }
}
#endregion
}
构建一个将是集合的类...
Build a class that will be the collection...
public class MyMenu : StringCollection, IHierarchicalEnumerable
{
List<IHierarchyData> _list = new List<IHierarchyData>();
public void Add(StringCollection strings)
{
foreach (string s in strings)
{
MyMenuItem i = new MyMenuItem(s);
_list.Add(i);
}
}
#region IHierarchicalEnumerable Members
public IHierarchyData GetHierarchyData(object enumeratedItem)
{
return enumeratedItem as IHierarchyData;
}
#endregion
#region IEnumerable Members
public System.Collections.IEnumerator GetEnumerator()
{
return _list.GetEnumerator();
}
#endregion
}
您现在可以构建菜单...
In the page you can now construct the menu...
MyMenu pos = new MyMenu();
StringCollection sc = new StringCollection();
sc.Add("First");
sc.Add("Second");
pos.Add(sc);
Menu1.DataSource = pos;
Menu1.DataBind();
这篇关于将ASP.Net菜单控件绑定到集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!