0

我正在使用默认的“Site.master”母版页开发一个网站。我想访问 Site.master 导航菜单中可用菜单项的值。例如“主页”和“关于”导航菜单项的值。我是新来的,需要一些帮助。

4

4 回答 4

0
    Menu mn = (Menu)Master.FindControl("id_of_menu_control");
            foreach (MenuItem item in mn.Items)
            {
                string navigate = item.NavigateUrl;
/// Other stuffs you want to do
            }
于 2013-09-23T14:59:10.827 回答
0

你需要投。在基于母版页的页面中,执行以下操作:

var pro = (this.Master as YourMasterPageClassName).SomeInternalToMasterProperty;
于 2013-09-23T14:56:18.873 回答
0

这就是我所做的方式......

 Control allUsers = this.Page.Master.FindControl("login").FindControl("loginview").FindControl("ulmenu").FindControl("allUsers");

如果“管理员”登录,以上内容用于我的页面加载。那么这就是我的 site.master 中的内容......

<section runat="server" id="login">
                        <asp:LoginView id="loginview" runat="server" ViewStateMode="Enabled">
                            <LoggedInTemplate>
                                <p id="paragraph">
                                    Welcome,
                                    <asp:LoginName ID="loginName" runat="server" CssClass="username" />
                                    </a>!
                                <asp:LoginStatus runat="server" LogoutAction="Redirect" LogoutText="Log off" LogoutPageUrl="~/Account/Login.aspx" />
                                    <ul runat="server" id="ulmenu" class="menu">
                                        <li><a runat="server" href="~/Dashboard.aspx">Dashboard</a></li>
                                        <li><a runat="server" href="~/DeliveredDeals.aspx">Delivered Deals</a></li>
                                        <li><a runat="server" href="~/DealTracking.aspx">Deal Tracking</a></li>
                                        <li><a runat="server" id="allUsers" href="~/Account/Garage.aspx" visible="false">Garage</a></li>
                                    </ul>
                                </p>
                            </LoggedInTemplate>
                        </asp:LoginView>
                    </section>

如果你检查我的最后一个 li,你想给它一个 ID,这样你就可以找到它。我希望这有帮助!

于 2013-09-23T18:09:41.987 回答
0

您可以简单地执行以下操作:

switch (e.Item.Value)
        {
             case "1":                        
               //code
                return;
            case "2":
               //code
                return;
            case "3":
                //code            
                return;
于 2018-05-02T10:29:50.037 回答