【发布时间】:2016-09-15 18:55:47
【问题描述】:
我正在开发一个 asp.net C# webforms 项目。在母版页上,我有一个菜单控件,我在母版页的页面加载事件中动态填充它。访问页面时,我想遍历菜单中的项目,如果菜单中不存在 URL,则将用户重定向到登录页面。我在内容页面派生自的自定义基页面类的 page_Load 事件中执行此操作。我遇到的问题是菜单的项目计数为零。以下是我的代码:
<asp:Menu ID="menuBarMaster" runat="server" Orientation="Horizontal" Width="100%"
CssClass="MenuBarMaster" MaximumDynamicDisplayLevels="10" ClientIDMode="Static">
<StaticMenuStyle CssClass="staticMenuItem" />
<StaticHoverStyle CssClass="staticHoverStyle"></StaticHoverStyle>
<StaticMenuItemStyle CssClass="staticMenuItemStyle" />
<StaticSelectedStyle CssClass="staticSelectedStyle" />
<DynamicMenuItemStyle CssClass="dynamicMenuItemStyle" />
<DynamicHoverStyle CssClass="dynamicHoverStyle" />
<DynamicMenuStyle CssClass="dynamicMenuStyle" />
</asp:Menu>
protected override void OnLoad(EventArgs e)
{
var url = HttpContext.Current.Request.Url;
var menu = this.Master.FindControl("menuBarMaster") as Menu;
if (menu != null)
{
if (menu.Items.Count > 0)
{
//loop through the items
//But this is never reached as the menu.Items.Count equals to 0
}
}
base.OnLoad(e);
}
【问题讨论】: