繁体   English   中英

ASP.Net菜单栏未显示

[英]ASP.Net Menu Bar is not being displayed

我在ASP.net中为我的站点主人建了一个菜单栏:

<div class="MenuBar">
        <asp:ContentPlaceHolder ID="MainContent" runat="server">
            <asp:Menu ID="menuBar" runat="server" Orientation="Vertical" Width="100%">
                <DynamicHoverStyle CssClass="DynamicHover" />
                <DynamicMenuItemStyle CssClass="DynamicMenuItem" />
                <DynamicSelectedStyle CssClass="DynamicHover" />
                <StaticHoverStyle CssClass="staticHover" />
                <StaticMenuItemStyle CssClass="StaticMenuItem" ItemSpacing="1px" />
                <StaticSelectedStyle CssClass="staticHover" />
            </asp:Menu>
        </asp:ContentPlaceHolder>
    </div>

代码背后:

public partial class SiteMaster : System.Web.UI.MasterPage
{

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        getMenu();
    }
}


private void getMenu()
{
    Menu menuBar = new Menu();
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "server=(local);database=PhilipsMaterials;Integrated Security=SSPI;";
    con.Open();
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    string sql = "Select [Material Name] from Materials";
    SqlDataAdapter da = new SqlDataAdapter(sql, con);
    da.Fill(ds);
    dt = ds.Tables[0];
    DataRow[] drowpar = dt.Select();
    String s = "sss";
    foreach (DataRow dr in drowpar)
    {
        menuBar.Items.Add(new MenuItem(dr["Material Name"].ToString()));
    }

    con.Close();

}

}

出于某种原因,当我在浏览器上查看网站时,菜单未显示。 有人知道为什么吗? 谢谢。

您从菜单中实例化一个新对象,然后不将其分配给现有菜单,您不需要实例化一个新对象,只需将您的函数替换为以下:

    private void getMenu()
{
   // Menu menuBar = new Menu();
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "server=(local);database=PhilipsMaterials;Integrated Security=SSPI;";
    con.Open();
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();
    string sql = "Select [Material Name] from Materials";
    SqlDataAdapter da = new SqlDataAdapter(sql, con);
    da.Fill(ds);
    dt = ds.Tables[0];
    DataRow[] drowpar = dt.Select();
    String s = "sss";
    foreach (DataRow dr in drowpar)
    {
        menuBar.Items.Add(new MenuItem(dr["Material Name"].ToString()));
    }

    con.Close();

}
}

并从Page_PreRender而不是从Page_Load调用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM