UL меню с подменю с использованием ListView - PullRequest
0 голосов
/ 07 ноября 2010

Я использую веб-приложение Asp.Net.Не могли бы вы помочь мне понять, как именно создать UL-меню с элементом управления ListView, например:

<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

Что не так, почему я не могу создатьListViewItem и ListViewDataItem, как говорит MSDN?

И еще один вопрос, у меня есть шаблон ListView с элементом HTML A внутри и каким-то образом мне нужно установить для его атрибута HREF какое-то значение.* Как я могу установить атрибут HREF ссылки привязки внутри ItemTemplate ListView?

Это шаблон для 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>

Заранее спасибо.Любые ссылки и советы приветствуются.

1 Ответ

0 голосов
/ 09 ноября 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...