Получите ссылку на выпадающий список с помощью c # в предварительном просмотре страницы
-
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