所以,这就是我正在做的事情。我有一个ASP.NET web应用程序,其中站点地图通过web.sitemap显示在site.master文件上。下面是site.master:
<asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
<asp:TreeView
ID="TreeView1"
runat="server"
ataSourceID="SiteMapDataSource1"
ExpandDepth="1">
</asp:TreeView>下面是web.sitemap:
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Default.aspx" title="Home" description="Home">
<siteMapNode url="" title="Projects" description="">
</siteMapNode>
<siteMapNode url="" title="Configurations" description="Configurations">
<siteMapNode url="" title="Experiments" description="Experiments">
</siteMapNode>
<siteMapNode url="" title="Cell Line" description =""></siteMapNode>
<siteMapNode url ="" title ="Drugs">
</siteMapNode>
<siteMapNode url ="" title="Manage Configurations" />
<siteMapNode url="~/ExperimentConfigurationView.aspx" title ="Configure Experiements"/>
<siteMapNode url="~/DrugConfigurationView.aspx" title="Configure Drugs"/>
</siteMapNode>
</siteMapNode>
<siteMapNode url="" title="Drug Recipes" description="">
</siteMapNode>
</siteMapNode>
</siteMap>现在,这就是我遇到问题的地方。我想要做的是将这个站点地图与一个动态创建的SiteMapProvider结合起来,并填充这个地图的子树。例如,“项目”、“实验”、“细胞行”和“药物配方”节点都有一个子树,该子树由一个数据库填充。有谁有意见,或者有建议从哪里开始寻找?
总之,我想将叶siteMapNodes指向一个SiteMapProvider。
发布于 2012-06-14 02:28:25
解决方案:
我在根目录中添加了一个文件DrugListProvider.cs。它包含用于动态生成子树的代码。
我将以下节点放在Web.sitemap中,希望子树出现在该位置:
<siteMapNode provider="DrugListProvider"/>
最后,我将其包含在web.config文件中:
<siteMap>
<providers>
<add name="DrugListProvider" type="PrivoWeb.DrugListProvider"/>
</providers>
</siteMap>https://stackoverflow.com/questions/11018551
复制相似问题