Pergunta

Ao adicionar um manipulador personalizado para o evento SiteMapResolve, posso atualizar mapa do site url do on the fly, por alguma lógica que eu definir.

Este é ok para controles SiteMapPath, que aparecem para utilizar esta funcionalidade SiteMapResolve ... no entanto eu quero alcançar um resultado semelhante para um controle menu asp.net que usa um SiteMapDataSource. Alterando os nós com o manipulador SiteMapResolve não tem qualquer efeito.

Poderia alguém me aponte na direção certa? aplausos: D

edit: sourcecode Eu tenho tudo removido desnecessário e fiquei com o seguinte - eu devo ser mal-entendido algo a ver com a estrutura do menuItemCollecton mas sempre esvaziar

.

web.sitemap


<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="default.aspx" title="Homepage"  description="Home">
    <siteMapNode url="secondpage.aspx" title="Page 2" />
</siteMapNode>
</siteMap>

default.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Menu runat=server ID=menu DataSourceid=dsSiteMap />
        <asp:SiteMapDataSource ID="dsSiteMap" runat="server" />
        <asp:Label runat=server id=lbMenuCount />
    </div>
    </form>
</body>
</html>

default.aspx.vb


Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
lbMenuCount.text = menu.Items.Count End Sub End Class

Foi útil?

Solução

Obrigado por seus ponteiros Maomé, mas eu acho que já rachou o problema.

Eu acho que a menuItemCollection só olha para itens estaticamente definidos (ou seja, dentro do código do menu) wheras Estou ligando para uma fonte de dados XML - para solução de Maomé não trabalho

Eu ter resolvido o problema, colocando meu código para o evento menu_MenuItemDataBound -. E estou recebendo os resultados que eu quero

Obrigado por toda a ajuda!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top