我使用的是Asp.Net网络应用程序。 您能否帮我理解如何使用ListView控件创建UL菜单,如:
<ul>
<li><a href="#">Item #1</a>
<ul>
<li><a href="#">SubItem #1</a>
</ul>
</li>
</ul>
通过DataSource绑定工作正常,但无法创建树,我需要完全HTML树列表作为UL元素。 理想情况下,在代码中使用递归方法创建ListViewItem树然后我会将它们添加到循环中的ListView控件中会很棒。 现在我会很高兴至少创建几个嵌套循环,我可以硬编码添加项目和子项目,但是当我尝试创建新的ListViewItem对象时,我有一些愚蠢的错误。
var lvi = new ListViewItem("Item #1"); // does not work
var lvdi = new ListViewDataItem("Item #1"); // does not work
AdminTopListView.Items.Add("Item #1"); // does not work
AdminTopListView.Items.Add("Item #1", 1); // does not work
错误:无法从'string'转换为'System.Web.UI.WebControls.ListViewDataItem'
虽然这说明另一个:http://msdn.microsoft.com/en-us/library/system.windows.forms.listview%28v=VS.90%29.aspx
有什么问题,为什么我不能像MSDN那样创建ListViewItem和ListViewDataItem?
另一个问题是,我有ListView模板,里面有HTML A元素,不知何故 我需要将其HREF属性设置为某个值。
如何在ListView的ItemTemplate中设置锚链接的HREF属性?
这是ListView的模板:
<asp:ListView
ID="AdminTopListView"
runat="server"
onload="AdminTopListView_Load">
<LayoutTemplate>
<ul runat="server">
<li id="AdminTopListView_PlaceHoler" runat="server"></li>
</ul>
</LayoutTemplate>
<ItemTemplate>
<li id="AdminTopListView_Item" runat="server">
<a href="<%# Eval("RouteURL")%>"><%# Eval("RouteName")%></a>
</li>
</ItemTemplate>
<SelectedItemTemplate>
<li id="AdminTopListView_Item" runat="server">
<a href="<%# Eval("RouteURL")%>"><%# Eval("RouteName")%></a>
</li>
</SelectedItemTemplate>
<EmptyItemTemplate>
<li id="AdminTopListView_Item" runat="server"><a href="#">No data</a></li>
</EmptyItemTemplate>
</asp:ListView>
提前致谢。任何链接和建议都表示赞赏。