Получите ссылку на выпадающий список с помощью c # в предварительном просмотре страницы

StackOverflow https://stackoverflow.com/questions/354666

  •  21-08-2019
  •  | 
  •  

Вопрос

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

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

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

protected void Page_PreRender(object sender, EventArgs e)
    {

на моем aspx.cs

Что я упускаю из виду?Спасибо.

Это было полезно?

Решение

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top