efeito equivalente de SiteMapResolve personalizado para SiteMapDataSource
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
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!