我使用MvcSiteMapProvider
在我的ASP.NET MVC應用程序中創建麪包屑。我有一些我想創建一些子節點的動態資源。其中一些節點,我想出現在麪包屑中,但不能點擊。如何在我的MVC站點地圖中創建一個不可點擊的動態節點?
對於靜態資源,您可以在XML站點地圖文檔中指定clickable="false"
,這些節點將顯示,但不會超鏈接。我找不到在我的動態節點提供者類返回的DynamicNode
上設置的等效屬性。
是否可以添加動態的「不可點擊」節點?
我使用MvcSiteMapProvider
在我的ASP.NET MVC應用程序中創建麪包屑。我有一些我想創建一些子節點的動態資源。其中一些節點,我想出現在麪包屑中,但不能點擊。如何在我的MVC站點地圖中創建一個不可點擊的動態節點?
對於靜態資源,您可以在XML站點地圖文檔中指定clickable="false"
,這些節點將顯示,但不會超鏈接。我找不到在我的動態節點提供者類返回的DynamicNode
上設置的等效屬性。
是否可以添加動態的「不可點擊」節點?
DynamicNode
沒有n Clickable
屬性,因爲它不從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中現在有動態節點上的可點擊屬性,並設置爲可點擊的一個屬性現在將導致一個錯誤,這是因爲特性不再由支持屬性字典。
var node = new DynamicNode();
node.Clickable = false;