#asp.net #vb.net #themes
#asp.net #vb.net #темы
Вопрос:
Я пытаюсь создать обратимые темы в ASP.NET . Я могу успешно менять темы, используя выпадающий список, но у меня возникают проблемы с изменением SkinID и общих элементов управления HTML (которые являются всеми div, за исключением тега body) программно. Я переместил весь свой код изменения атрибутов и обложки в метод PreInit моей базовой страницы. Теперь я получаю исключение NullReferenceException при запуске страницы. Я думал, что этот код должен использовать существующие элементы управления, на которые он предположительно указывает. Что я упускаю или делаю неправильно?
Вот мой код:
Комментарии:
1. В какой строке вы получаете эту ошибку?
2. Первый — «Dim bodyControl как HtmlGenericControl …». Я включил часть метода PreInit, чтобы вы могли видеть, что я пытаюсь сделать.
3. Есть ли у вас
runat=server
id
атрибуты и в вашем теле, управляющие чем-то подобным<body runat="server" id="mybody">
?4. ДА. Все важные divs имеют
code
runat=»server»code
Ответ №1:
PreInit
Событие, вероятно, слишком рано в жизненном цикле страницы для поиска элементов управления FindControl
. Вы также выполняете свои объявления вне события. Это может иметь какое-то отношение и к вашей нулевой ссылке. Я бы посмотрел, можете ли вы изменить его, чтобы посмотреть позже в жизненном цикле. Это может быть полезно, если вы его еще не видели: http://msdn.microsoft.com/en-us/library/ms178472.aspx
Комментарии:
1. Это сработало, как только я переместил элементы управления с верхней части страницы в метод
code
PreInit()! Большое спасибо!