[英]how to access site master navigation menues' value to any aspx page in asp.net
我正在使用默認的“ Site.master”母版頁開發網站。 我想訪問Site.master中導航菜單上可用的菜單項的值。 例如,“主頁”和“關於”導航菜單項的值。 我是新來的,需要幫助。
你需要演員。 在基於母版頁的頁面中,執行以下操作:
var pro = (this.Master as YourMasterPageClassName).SomeInternalToMasterProperty;
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
}
這就是我做到的方式...
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,以便能夠找到它。 我希望這有幫助!
您可以按照以下步驟進行操作:
switch (e.Item.Value)
{
case "1":
//code
return;
case "2":
//code
return;
case "3":
//code
return;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.