我有以下定義地圖:使用ASP.net菜單控制有一個網站地圖
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="Root" roles="*">
<siteMapNode url="~/Default.aspx" title="Home" roles="*" />
<siteMapNode url="~/ProjectList.aspx" title="Projects" roles="*">
<siteMapNode url="~/ProjectOverview.aspx" title="Project Overview" roles="*" />
<siteMapNode url="~/ProjectViewCalls.aspx" title="View Calls" roles="*" />
</siteMapNode>
<siteMapNode url="~/Configuration.aspx" title="Configuration" roles="Administrator" />
<siteMapNode url="~/YourAccount.aspx" title="Your Account" roles="Administrator" />
<siteMapNode url="~/Logout.aspx" title="Logout" roles="*" />
</siteMapNode>
</siteMap>
我需要這在我的菜單控制,以顯示:首頁|項目|配置|您的賬戶|登出。
但是,當我導航到ProjectOverview和ProjectViewCalls頁面時,這是正常工作,我失去了列表項的所選class="level1 selected"
屬性。我希望能夠指出用戶目前所在的網站區域。
這可能嗎?
我沒有使用子菜單,我的網站地圖中的子節點的原因是因爲我希望所有項目相關頁面都選擇了項目菜單項。當瀏覽到其中一個「子頁面」時,e.Item.Selected從來就不是真的。 – 2010-11-03 15:19:55
噢,好的。在這種情況下,可能是這樣的MenuDataBound: 'var currentNode = SiteMap.Provider.FindSiteMapNode(HttpContext.Current); if(currentNode!= null) \t { \t \t var parentMenuItem = Menu1.FindItem(「Root /」+ currentNode.ParentNode.Title); \t \t如果(parentMenuItem = NULL && parentMenuItem.Selectable!) \t \t { \t \t \t parentMenuItem.Selected = TRUE; \t \t} \t}' – Sprockincat 2010-11-03 21:37:39
該死!對不起,搞砸了格式。我會在這裏再次嘗試:編輯:擰它,我只是在答案中發佈它。 – Sprockincat 2010-11-03 21:44:16