2
我已經嵌入在的Site.Master文件以下菜單控制:在ASP.NET菜單父母和他們的孩子中設置CSS class'selected'?
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal" RenderingMode="List">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home" />
<asp:MenuItem NavigateUrl="~/TechServices.aspx" Text="Tech Services"/>
<asp:MenuItem NavigateUrl="~/HumanResources.aspx" Text="Human Resources"/>
<asp:MenuItem NavigateUrl="~/Marketing.aspx" Text="Marketing"/>
<asp:MenuItem NavigateUrl="~/DocumentControl.aspx" Text="Document Control"/>
<asp:MenuItem NavigateUrl="~/IT.aspx" Text="Information Tech"/>
</Items>
</asp:Menu>
爲了設置CSS類屬性選擇我使用下面的C#代碼:
protected void Page_Load(object sender, EventArgs e) {
string thispage = this.Page.AppRelativeVirtualPath;
int slashpos = thispage.LastIndexOf('/');
string pagename = thispage.Substring(slashpos + 1);
foreach (MenuItem mi in NavigationMenu.Items) {
if (mi.NavigateUrl.Contains(pagename)) {
mi.Selected = true;
break;
}
}
}
上面的代碼很好用。但是,這些頁面現在包含子頁面(子項),我希望父頁面在訪問其子頁面時保留其「」「選定」 CSS屬性。
我也創造了Web.sitemap中文件來組織所有的父母和他們的孩子的頁面。然而,我正在研究如何使用Web.sitemap來幫助上面的C#函數來幫助父菜單保留其CSS類「selected」屬性。我不確定是否需要Web.sitemap文件來達到此目的?父和子邏輯僅在Web.sitemap文件中可用。
我不這樣做,因爲父和子關係只在Web.sitemap文件中引用。我沒有看到你的代碼中的任何引用剪切。除非,我錯過了一些東西。 – Fawadafr 2012-02-05 03:48:36
我問了一個非常難的問題嗎? – Fawadafr 2012-02-08 02:54:37
你試過了嗎? – Malk 2012-02-08 17:20:37