我一直试图从NuGet使用SiteMapProvider并使其链接到数据库,以便获得侧边栏和面包屑的所有链接,到目前为止,我还没有找到任何教程,我一直在使用xml文件的信息,我确信我必须创建一个类,但我似乎没有找到任何关于如何做到这一点的教程,或者如何正确地调用这个类,有没有教程或网站包含这些信息?我一直在尝试做这里包含的内容:
https://github.com/maartenba/MvcSiteMapProvider/wiki/Dynamic-sitemaps
但我不知道如何定义dynamicNodeProvider,有什么帮助吗?抱歉,如果我问的是一些模糊的问题..我试着搜索了一下,但没有找到任何信息。
编辑:
我可以使用以下命令加载信息:
[MvcSiteMapNode(Title = "HOLDCREATEREPORT", ParentKey = "Home", Key = "CreateReport")] 在每个类上,但我更感兴趣的是使用加载所有节点的唯一类来完成此操作,到目前为止,我已经尝试将sitemap xml更改为以下代码:
导航本身具有以下代码:
public class navigation : DynamicNodeProviderBase
{
public override IEnumerable<DynamicNode> GetDynamicNodeCollection(ISiteMapNode node)
{
for (int i = 0; i < 20; i++)
{
DynamicNode dynamicnode = new DynamicNode();
dynamicnode.Title = "test"+ i.ToString();
dynamicnode.ParentKey = "Home";
dynamicnode.RouteValues.Add("test" + i.ToString(), "abcdb"+ i.ToString());
yield return dynamicnode;
}
}
}然而,当我运行它时,什么都没有显示,我非常确定我遗漏了一些非常简单的>_>。
发布于 2015-08-30 13:41:06
动态节点提供程序需要定义节点。definition节点可以是XML格式,也可以是.NET属性。它不会包含在SiteMap中,但动态节点提供程序创建的节点将包含在其中。
[MvcSiteMapNode(Title = "Dynamic Nodes", DynamicNodeProvider = "MyNamespace.navigation, MyAssembly")]或
<mvcSiteMapNode title="Dynamic Nodes" dynamicNodeProvider="MyNamespace.navigation, MyAssembly">https://stackoverflow.com/questions/32283242
复制相似问题