Priya Karthish Ответов: 2

Элемент управления Label кидает систему.исключение NullReferenceException


Я новичок в ASP.Чистая и застрявшая с самой моей первой программой. Мой лейбл выбрасывает следующее исключение :(
System.NullReferenceException: 'The object reference was not set to an object instance.'
)

Моя страница дизайнера имеет следующую метку:-
protected global::System.Web.UI.WebControls.Label lblmsg;


Может ли кто-нибудь помочь мне, где я иду не так?

Что я уже пробовал:

Вот мой firstpage.aspx-файл
<pre><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FirstPage.aspx.cs" Inherits="WebApplicationDemo.FirstPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <%Response.Write("HeLLo World"); %>
             <asp:label ID="lblmsg" runat="server"/>
            <asp:Button Text="Go to Second Page" runat="server" OnClick="BtnGOTOSECOND_Click"/>
        </div>
    </form>
</body>
</html>


Вот мой firstpage.aspx-файл.в CS
<pre>using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;

namespace WebApplicationDemo
{
    public partial class FirstPage : System.Web.UI.Page
    {
        public FirstPage()
        {
            
            lblmsg.Text = "My First Label";
           
                   
        }
      
        protected void BtnGOTOSECOND_Click(object sender, System.EventArgs e)
        {
            Response.Redirect("SecondPage.aspx");
        }
    }
}

2 Ответов

Рейтинг:
5

Gerry Schmitz

lblmsg = new Label();
lblmsg.Text = "My First Label";


Рейтинг:
2

Richard Deeming

Вы пытаетесь получить доступ к элементу управления из конструктора. В этот момент дерево управления еще не создано.

Абсолютная самая ранняя точка доступа к элементам управления находится после базы FrameworkInitialize метод был вызван:

protected override void FrameworkInitialize()
{
    base.FrameworkInitialize();
    
    // The control tree has now been created.
}

Обычно это происходит непосредственно перед началом Init событие, так что обычно это лучшее место для такого рода кода.