Render asp: элементы меню в виде ссылок

0

У меня есть asp: menu так:

    <div id="MenuContainer" runat="server" class="menuContainer">
        <asp:Menu ID="DefaultMenu" runat="server" DataSourceID="SiteMapDataSource" SkinID="TopMenu" OnMenuItemDataBound="DefaultMenu_MenuItemDataBound" OnMenuItemClick="DefaultMenu_MenuItemClick" DynamicPopOutImageTextFormatString="" >
            <DataBindings>              
                <asp:MenuItemBinding DataMember="SiteMapNode" NavigateUrlField="Url" TextField="Title" ToolTipField="Description" />
            </DataBindings>
        </asp:Menu>
        <asp:SiteMapDataSource ID="SiteMapDataSource" runat="server" EnableViewState="False" ShowStartingNode="False" SiteMapProvider="WebserviceSiteMapProvider" />
    </div>

Элементы меню генерируются из SiteMapDataSource, как показано выше. При визуализации всех ссылок меню являются обратными передачами, которые затем перенаправляются на соответствующую страницу:

protected void DefaultMenu_MenuItemClick(object sender, MenuEventArgs e)
        {
            Response.Redirect(e.Item.DataPath);
        }

Кто-нибудь знает какой-либо простой способ отобразить пункты меню как гиперссылки, а не обратные передачи?

Я спрашиваю, как это добавляет ненужное обратное путешествие в мое приложение, которое при определенной настройке клиента вызывает проблемы с производительностью. Я все время искал в интернете все это время и не вижу ничего очевидного.

Примечание. Это.Net 3.5, который используется.

Если мне что-то не хватает, просто скажите.

Nevermind, один из моих коллег показал мне эту проблему, sitemapdatasource не возвращал URL-адрес, поэтому ссылки, которые отображаются как обратные, а не гиперссылки.

Теги:

1 ответ

0

Нужно ли использовать:

OnMenuItemClick="DefaultMenu_MenuItemClick"

что создаст обратную передачу, вам нужно будет создать элемент управления без него.

Вот ссылка на ответ с более простым использованием меню для файла Sitemap, это может стоить взгляда. qaru.site/questions/2488369/...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню