#c# #asp.net #c#-4.0
#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";
}
}
}
Проблема в том, что он сообщает, что ссылка на объект не установлена на значение объекта. Это код, лежащий в основе моего файла MasterPage.cs.
<asp:Label ID="lblText" runat="server" Text="Label"></asp:Label>
На главной странице
Комментарии:
1. Если это asp.net связанный, вы должны пометить его как таковой.
2. Можете ли вы показать код, в котором вы объявляете lblText? Есть ли у нее атрибут runat со значением server.
3. Ты далеко впереди, Крис. 🙂 @user710502, пожалуйста, покажите нам, где
lblText
объявлено.4. где находится элемент управления «lblText»? Это на главной странице или на другой странице, которая использует главную страницу?
5. Знаете ли вы, что вы создаете новый тип главной страницы, в отличие от простого создания страницы, которая использует главную страницу.
Ответ №1:
Где ваш код имеет
Label lblText;
вы должны поместить
Label lblText = new Label();
вместо этого. Это устранит ошибку, потому что тогда lblText
переменная будет ссылаться на фактический экземпляр элемента управления label. Но метка не будет отображаться, пока вы также не добавите
Controls.Add(lblText);
к событию загрузки вашей страницы.
В качестве альтернативы, вы могли бы добавить метку на свою страницу, как предлагает @amonteiro. Затем вы могли бы поместить его в место, которое имеет смысл для остальной части вашего приложения.
Комментарии:
1. Как я могу контролировать, где ее разместить?
Ответ №2:
Вы не можете найти lblText на своей странице, потому что он не является частью класса страницы. Это часть класса главной страницы. Вы должны найти его на главной странице следующим образом:
Label lblText = (Label) Master.FindControl("lblText")};
Кроме того, не используйте метку, если литерал сделает свое дело.
Редактировать: Только что понял, что, возможно, неправильно прочитал ваш вопрос. Если вы пытаетесь найти это в коде самой главной страницы, то мой ответ неприменим.