Получить ссылку на выпадающий список с C # на странице PreRender - PullRequest
0 голосов
/ 10 декабря 2008

Я хочу добавить опции в выпадающий список на моей странице aspx из кода c # позади во время загрузки. Я не знаю, как получить ссылку на контроль. У меня есть код C #, который срабатывает, когда пользователь меняет выпадающий список. В этом я получаю ссылку на выпадающий с:

DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find("ID");

Но это не сработает, если я попробую в

protected void Page_PreRender(object sender, EventArgs e)
    {

на моем aspx.cs

Чего мне не хватает? Спасибо.

Ответы [ 2 ]

1 голос
/ 10 декабря 2008

Если вы хотите, чтобы выбранный элемент раскрывающегося списка был автоматически выбран из состояния просмотра на обратных передачах, вам нужно будет иметь все элементы раскрывающегося списка к моменту запуска Page_PreLoad. Чтобы сделать это, вы захотите поместить свой код в Page_Init, на этом этапе элементы управления созданы, но viewstate еще не введено в них.

Посмотрите здесь Обзор жизненного цикла страницы ASP.NET для получения информации о жизненном цикле страницы.

Я вижу, что ваш выпадающий список находится в родительском контейнере, вам может потребоваться вызвать info.EnsureChildControls () перед использованием Find (), если он не может получить ссылку на ваш элемент управления.

0 голосов
/ 10 декабря 2008

PreRender ближе к концу жизненного цикла страницы. Вы уверены, что хотите внести изменения там? Похоже, вы должны менять элементы в раскрывающемся списке, когда он изначально связан или когда его выбор изменяется.

http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg

...