ASP.NET新手在这里.当我在页面上时,我想将相应的菜单项设置为选中.我的方法是这样的:
在Home.aspx.cs上:
在Home.aspx.cs上:
Menu menu = (Menu)Master.FindControl("Menu1"); if (menu.Items.Count > 0) { menu.FindItem("Home").Selected = true; }
解决方法
我认为你必须在MenuItemDataBound事件上设置所选项目(调整你的代码):
protected void Menu1_MenuItemDataBound(object sender,MenuEventArgs e) { if (SiteMap.CurrentNode != null) { if (e.Item.Text == SiteMap.CurrentNode.Title) { e.Item.Selected = true; } } }
更多内容显示如何处理菜单中的链接,该菜单具有站点地图的数据源…
在asp.net页面中添加OnMenuItemDataBound事件:
<asp:Menu ID="mnuFooter" runat="server" DataSourceID="SiteMapDataSource1" OnMenuItemDataBound="mnuFooter_MenuItemDataBound"> </asp:Menu>
在web.sitemap中,添加一个?网址的字符:
在后面的代码中,捕获MenuItemDataBound事件:
protected void mnuFooter_MenuItemDataBound(Object sender,MenuEventArgs e) { if (e.Item.NavigateUrl.Contains("?")) { e.Item.Target = "_blank"; } }
web.sitemap中包含?的任何网址?将在新窗口中打开.注意,使用任何其他有效的网址字符代替?如有必要.