0
私はasp.net C#webformsプロジェクトに取り組んでいます。マスターページには、マスターページのページロードイベントで動的に取り込むメニューコントロールがあります。ページにアクセスすると、メニュー内の項目をループし、URLがメニューにない場合はログインページにリダイレクトします。私は、コンテンツページが派生するカスタムベースページクラスのpage_Loadイベントでこれをやっています。私が抱えている問題は、メニューの項目数がゼロになることです。以下は、私のコードです:動的にロードされたasp.netメニューコントロールをループしていくつかの項目を削除するにはどうすればいいですか?
<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);
}