我正在使用我自己的SiteMapProvider
,它只是繼承並稍微改寫System.Web.XmlSiteMapProvider
。爲不同角色返回不同siteMapNodes
我想爲客戶和經理返回不同的siteMapNode
。或者也許是相同的,但具有不同的Title
屬性。
可能嗎?如果是的話,我該怎麼做?
我正在使用我自己的SiteMapProvider
,它只是繼承並稍微改寫System.Web.XmlSiteMapProvider
。爲不同角色返回不同siteMapNodes
我想爲客戶和經理返回不同的siteMapNode
。或者也許是相同的,但具有不同的Title
屬性。
可能嗎?如果是的話,我該怎麼做?
這是Scott Gu的博客文章,可以幫助你。本文中的示例使用Windows身份驗證,但它也應該用於表單身份驗證。
如果要實現不同的標題爲不同的角色,然後在這裏是如何可以做一個例子。所有你需要做的是創建兩個節點指向同一個網址。 a = 1和a = 2的原因是URL上的查詢字符串變量是爲了確保url是唯一的。如果url不是唯一的,asp.net會抱怨,除非你可以覆蓋該功能...
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="default.aspx" title="Home">
<siteMapNode url="page1.aspx?a=1" title="Client Title" roles="Client" />
<siteMapNode url="page1.aspx?a=2" title="Manager Title" roles="Manager" />
</siteMapNode>
</siteMap>