尝试动态填充ASP.NET MenuItem时抛出空引用异常

时间:2013-04-17 04:08:44

标签: c# asp.net treeview

我正在尝试从后面的代码中动态填充ASP Menu ASP MenuItems,但我收到object reference is not set to an instance of an object例外。

这就是我的ASP的样子:

<asp:Menu ID="HeaderMenu" runat="server">
    <Items>
    </Items>
</asp:Menu>

这就是我背后的代码:

protected void Page_Load(object sender, EventArgs e)
{
    PopulateMenu();
}

protected void PopulateMenu()
{
    HeaderMenu.Items.Add(new MenuItem 
    {
        Text = "Register Now!",
        NavigateUrl = "~/Pages/Register.aspx"
    });
}

它在调用Add时抛出异常,但我无法弄清楚原因。

编辑:在页面加载时调用PopulateMenu()

1 个答案:

答案 0 :(得分:0)

试试这个

<asp:Menu ID="HeaderMenu" runat="server">
    <Items>
    </Items>
</asp:Menu>


protected void Page_Load(object sender, EventArgs e)
{
    PopulateMenu();
}

protected void PopulateMenu()
{
    HeaderMenu.Items.Add(new MenuItem 
    {
        "Register Now!",
        "","", 
        "~/Pages/Register.aspx"
    });
}