我MvcSiteMapProvider
用来在我的 ASP.NET MVC 应用程序中创建面包屑。我有一些动态资源,我想为其创建一些子节点。其中一些节点,我想出现在面包屑中但不可点击。
对于静态资源,您可以clickable="false"
在 XML 站点地图文档中指定这些节点会出现,但不会是超链接。我找不到在DynamicNode
我的动态节点提供程序类返回的值上设置的等效属性。
是否可以添加一个动态的“不可点击”节点?
我MvcSiteMapProvider
用来在我的 ASP.NET MVC 应用程序中创建面包屑。我有一些动态资源,我想为其创建一些子节点。其中一些节点,我想出现在面包屑中但不可点击。
对于静态资源,您可以clickable="false"
在 XML 站点地图文档中指定这些节点会出现,但不会是超链接。我找不到在DynamicNode
我的动态节点提供程序类返回的值上设置的等效属性。
是否可以添加一个动态的“不可点击”节点?
DynamicNode
没有 nClickable
属性,因为它没有从MvcSiteMapNode
类继承。
反思MvcSiteMapNode
表明,实现Clickable
由Attributes
属性支持:
public bool Clickable
{
get
{
return ((this["clickable"] == null) || bool.Parse(this["clickable"]));
}
set
{
this["clickable"] = value.ToString();
}
}
该类DynamicNode
公开了自己的属性,在解析动态节点时将Attributes
其复制到实例中。MvcSiteMapNode
因此,可以使用以下代码设置属性:
var node = new DynamicNode();
node.Attributes["clickable"] = "false";
在 v4 中,动态节点上现在有一个 Clickable 属性,现在将属性设置为 clickable 会导致错误,因为属性不再受 Attributes 字典支持。
var node = new DynamicNode();
node.Clickable = false;