¿Cómo vincular SiteMap a un TreeView creado dinámicamente en tiempo de ejecución?¿Cómo vincular SiteMap a un TreeView creado dinámicamente?
5
A
Respuesta
11
Hay un par de formas de hacerlo.
Ponga un marcador de posición en la página:
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
Ahora cree un TreeView y asignar un SiteMapDataSource que ya se encuentra en la página:
//Code Behind
TreeView tv1 = new TreeView();
tv1.DataSourceID = "SiteMapDataSource1";
PlaceHolder1.Controls.Add(tv1);
//aspx
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
O puede asignar el SiteMap programación:
// Create an instance of the XmlSiteMapProvider class.
XmlSiteMapProvider testXmlProvider = new XmlSiteMapProvider();
NameValueCollection providerAttributes = new NameValueCollection(1);
providerAttributes.Add("siteMapFile", "Web2.sitemap");
// Initialize the provider with a provider name and file name.
testXmlProvider.Initialize("testProvider", providerAttributes);
// Call the BuildSiteMap to load the site map information into memory.
testXmlProvider.BuildSiteMap();
SiteMapDataSource smd = new SiteMapDataSource();
smd.Provider = testXmlProvider;
TreeView tv2 = new TreeView();
tv2.DataSource = smd;
tv2.DataBind(); //Important or all is blank
PlaceHolder1.Controls.Add(tv2);
Configuración del mapa del sitio mediante programación también le permite cambiar los archivos basados en reglas de negocios.
Esto también puede hacerse a través de la Web.Config:
<configuration>
<!-- other configuration sections -->
<system.web>
<!-- other configuration sections -->
<siteMap>
<providers>
<add name="SiteMap1" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Web.sitemap" />
<add name="SiteMap2" type="System.Web.XmlSiteMapProvider" siteMapFile="~/Web2.sitemap" />
</providers>
</siteMap>
</system.web>
</configuration>
y luego en su página aspx acaba de cambiar proveedor:
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" SiteMapProvider="SiteMap2" />
Esperanza esto ayuda
Cuestiones relacionadas
- 1. Asignar código a un botón creado dinámicamente
- 2. ¿Pueden los datos vincular un control TreeView?
- 3. ¿Puedo vincular una WPF TreeView a un único nodo raíz?
- 4. Vincular eventos a elementos añadidos dinámicamente
- 5. CodeNameOne Formulario creado dinámicamente, cómo "Volver"
- 6. Enlace a eventos dentro de iframe creado dinámicamente
- 7. ¿Cómo adjunto un método a un tipo de C# creado dinámicamente en tiempo de ejecución?
- 8. Cargando el control ASCX creado dinámicamente (a través del código)
- 9. ¿Cómo crear un Sitemap para CakePHP?
- 10. Arrastrar y soltar de un atajo creado dinámicamente
- 11. ¿Cómo puedo agregar la autocompletar de jquery ui a un elemento creado dinámicamente?
- 12. cómo aplanar un WPF TreeView
- 13. agregar imagen a treeView
- 14. Android Treeview
- 15. Magento y Google Sitemap - Cron
- 16. ¿Cómo vincular a un archivo libc diferente?
- 17. Cómo vincular un socket a múltiples interfaces
- 18. ASP.NET MVC SiteMap
- 19. Formato XML Documento creado con PHP - DomDocument
- 20. HierarchicalDataTemplates en un TreeView
- 21. Si un sitemap tiene * cada * url
- 22. ¿Existe alguna forma clara de agregar funciones a un espacio de nombres creado dinámicamente?
- 23. Envío por correo electrónico de un PDF creado dinámicamente a través de PHP
- 24. Cómo enlazar datos a datos jerárquicos con un WPF TreeView?
- 25. ¿Por qué usar un sitemap de Google?
- 26. Cómo vincular Smartgit a GitHub
- 27. agregando atributos a un objeto Ruby dinámicamente
- 28. Estilo óptico WPF de MenuItem-Separator creado dinámicamente en MVVM
- 29. Evento que no funciona en el elemento creado dinámicamente
- 30. Cómo vincular dinámicamente páginas de error a archivos en Eclipse usando Play! ¿Marco de referencia?
Por desgracia, todavía tiene para guardar el mapa del sitio en un archivo. – tsilb
Sí, por defecto, debe haber un archivo de mapa del sitio. Sin embargo, puede implementar su propio SiteMapProvider que podría devolver un mapa del sitio generado dinámicamente: http://msdn.microsoft.com/en-us/library/aa479033.aspx - http://msdn.microsoft.com/en-us/library /aa479320.aspx. Si busca en Google un "proveedor de sitios personalizado", hay muchas publicaciones al respecto. –