ASP.NET:自定义填充的站点地图(SiteMappRovider)
-
19-09-2019 - |
题
我想写我的第一个 SiteMapProvider
子类。它本来可以使用一堆不同的数据库查找动态填充,就像我在网络上找到的所有示例一样。
但是,对于我来说,有很多事情还不清楚。这是我的两个第一个问题:
- 为什么是
StaticSiteMapProvider
用于几乎每个人的项目而不是SiteMapProvider
?由于该类包含“ static”的名称,因此我得到的印象是它不那么……好,动态的。 - 有人可以为我提供超级最小的
SiteMapProvider
仅使用静态数据填充地图的子类,即没有数据库访问等?
解决方案
SiteMapProvider
可以是动态的。例如,它可以仅适用于节点的动态查找。与...相比 StaticSiteMapProvider
您应该知道整个结构。因此,您可以决定选择什么。
你可以看一下 XmlSiteMapProvider
, ,这是“静态”地图提供商的好示例。
public class CoolMapProvider : StaticSiteMapProvider
{
public override SiteMapNode BuildSiteMap()
{
var root = new SiteMapNode(this, "test", "~/test.aspx");
base.AddNode(root, null);
base.AddNode(new SiteMapNode(this, "test-child", "~/test_child.aspx"), root);
return root;
}
}
我没有检查过,但应该起作用。
不隶属于 StackOverflow