Почему дети моего пользовательского пользовательского элемента управления не инициализируемый?

Вы можете добавить следующее свойство CSS для решения этой проблемы:

.btn-group button{
    width:130px !important;
}
5
задан Dan Herbert 15 January 2009 в 16:42
поделиться

4 ответа

Вы устанавливаете HRef на методе OnInit Страницы? Раз так попытайтесь выгнать присвоение с квартиры на Page_Load.

Средства управления Init от наиболее удаленного до внутреннего большинство. Это означает, присваиваете ли Вы действительно значение на OnInit Страницы, средства управления еще не инициализировали.

Вот достойный документ о жизненном цикле страницы: http://www.codeproject.com/KB/aspnet/lifecycle.aspx

0
ответ дан 15 December 2019 в 06:37
поделиться

Дерево управления строится после Init (); фактически, Init () - это место для добавления элементов управления в дерево до десериализации состояния просмотра. Вы не можете получить доступ к linkHref до того, как дерево управления будет построено.

Одно из возможных решений - сохранить URL до тех пор, пока вы не сможете его использовать. Внутри внутреннего элемента управления измените свойство Url на простую строку:

public string Url { get; set; }

В обработчике событий Load или PreRender внутреннего элемента управления распространите строку на (теперь инициализированный) объект linkHref:

linkHref.HRef = value;
0
ответ дан 15 December 2019 в 06:37
поделиться

Вы сказали:

 // Объявлен частный элемент управления linkHref
// в разметке .ascx элемента управления

Изменится ли что-нибудь, если вы сделаете этот элемент защищенным?

0
ответ дан 15 December 2019 в 06:37
поделиться

Некоторое время назад я опубликовал алгоритм поиска пути на C #

Вот ссылка

Вы можете попробовать использовать его в качестве отправной точки, т.е. вы можете изменить функцию, которая проверяет в следующую ячейку, чтобы проверить, допустимо ли проверять препятствия, и вы можете кормить ее небольшими интервалами вместо начальной и конечной точек, вроде как несколько маршрутов мини-поиска.

(Текст на испанском языке, но вы можете скачать приложение по ссылке вверху)

Что мне кажется странным в вашем коде, так это такая строка:

public InnerControl Inner
    {
        //...
        set{ _Inner = value; }
    }

В чем смысл создания установщика для внутреннего элемента управления? Я не могу этого понять. Предполагается, что экземпляр внутреннего элемента управления создается из разметки внешнего элемента управления, и именно этим созданным экземпляром следует управлять привязкой html. Если я добавлю эти строки к свойству Inner в Outer.ascx.cs

set
{
    this._Inner = (ASP.inner_ascx)value;
}

, я получу исключение нулевой ссылки, как и в исходном случае. Я думаю, что установщик инструктирует конструктор страниц ASP.Net создать еще один экземпляр внутреннего элемента управления и установить его с помощью свойства Inner. Я не уверен, но если у вас есть время, вы можете точно узнать, как это происходит, изучив файлы CS, созданные построителем страниц, они находятся во временных файлах ASP.Net.

2
ответ дан 15 December 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: