[英]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.