在回贴中,我似乎无法从MasterPage中的菜单控件中获取所选菜单项。我在page_load中尝试了以下内容,但它不起作用,并出错'对象引用未设置为对象的实例'。从代码后面的代码中获取从asp.net菜单控件中选择的项目
的HTML母版
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home" />
<asp:MenuItem NavigateUrl="~/About.aspx" Text="About" />
<asp:MenuItem NavigateUrl="~/Contact.aspx" Text="Contact" />
</Items>
</asp:Menu>
的Page_Load在母版
If IsPostBack Then
Select Case NavigationMenu.SelectedItem.Text
Case "Home"
'code
Case "About"
'code
Case "Contact"
'code
End Select
End If
在母版代码隐藏它永远不会通过回发。我更新了代码。 – TroyS
在NavigationMenu.SelectedItem中,它将删除每个回发中的值。通过绑定page_load中的if(!IsPostBack)中的NavigationMenu值,确保它的值不会在NavigationMenu.SelectedItem上被擦除。 –
我不确定为什么在设计时完成这些值而不是绑定数据。 – TroyS