C#关于母版页的一般问题

时间:2011-06-08 21:32:05

标签: c# asp.net c#-4.0

我正在尝试按以下方式添加标签

public partial class _base : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {

        lblText.Text ="Hello";
    }
}

}

问题是它告诉Object引用没有设置为对象的intance。这是我的MasterPage.cs背后的代码。

  <asp:Label ID="lblText" runat="server" Text="Label"></asp:Label>

在母版页

2 个答案:

答案 0 :(得分:1)

你的代码在哪里

Label lblText;

你应该把

Label lblText = new Label();

代替。这将使错误消失,因为标签控件的实际实例将由lblText变量引用。但是,在您添加

之前,标签不会显示
 Controls.Add(lblText);

到你的页面加载事件。

或者,您可以像@amonteiro建议的那样将标签添加到您的页面。然后你可以将它放在一个对你的应用程序的其余部分有意义的位置。

答案 1 :(得分:1)

您在页面中找不到lblText,因为它不是页面类的一部分。它是母版页类的一部分。您必须在母版页中找到它,如下所示:

Label lblText = (Label) Master.FindControl("lblText")};

此外,don't use a Label if a Literal will do the trick

编辑:刚认识到我可能读错了你的问题。如果您试图在Master页面背后的代码中找到它,那么我的答案不适用。