Я поставил эту проблему и ранее здесь . Я снова столкнулся с такой же проблемой. У меня есть пользовательский элемент управления, который показывает информацию из некоторого бизнес-объекта. Я уже использую это на двух страницах. На обеих страницах я вызываю метод с бизнес-объектом для привязки элементов управления (в основном меток asp) в пользовательском элементе управления к свойствам объекта. Я вызываю этот метод в методе LoadComplete на странице aspx.
protected void Page_LoadComplete(object sender, EventArgs e)
{
control.LoadData(bussinessObject);
}
Работает нормально на обеих страницах. Теперь у меня третья страница, где я использую тот же элемент управления. Теперь, когда я звоню LoadData на этой новой странице, я получаю NullReference исключение:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set
to an instance of an object.
Source Error:
Line 91: lblOrgName.Text = obj.Name;
EDIT:
lblOrgName имеет значение NULL :( Пожалуйста, помогите мне!
РЕДАКТИРОВАТЬ 2:
Я прошел через код. После загрузки страницы страницы, содержащей страницу, вызывается Page_Load Masterpage, а затем вызывается страница загрузки проблемного элемента управления. Остановка при закрывающей скобке (}) этой функции загрузки страницы Я набрал lblOrgName в Immediate Window, и она показала ноль
(
Затем в LoadComplete страницы, содержащей пользовательский элемент управления, я остановился и набрал имя элемента управления в ближайшем окне. Он показывает все метки и другие элементы управления в нуле.
РЕДАКТИРОВАТЬ 3:
Я поместил защищенный конструктор в UserControl, как подсказал Stendhal в ответах:
protected OrgInfo(){ }
Теперь я получаю эту ошибку:
Compiler Error Message: CS0122: 'Controls.OrgInfo.OrgInfo()' is inaccessible
due to its protection level.
Страница aspx в корневом каталоге проекта и элемент управления OrgInfo находятся в папке Controls.
РЕДАКТИРОВАТЬ 4:
Я попытался создать все элементы управления (в основном метки) в методе загрузки страницы, но, увы, счет коллекции элементов управления равен 0 (нулю)!