Включить/отключить TextBox в FormView.ModeChanged

У меня есть DropDownList и TextBox в EditTemplate моего FormView. Все, что я хочу, это включить/отключить TextBox в зависимости от того, выбрана ли первая запись моего DropDownList:

  1. Когда FormView переключается пользователем в режим Редактировать
  2. Когда пользователь изменяет выбранный элемент DropDownList в режиме Редактировать.

Я достиг второго с помощью JS, и это работает нормально, но первое оказалось слишком сложным. Я пытался сделать это в событии ModeChanged события FormView, но по какой-то причине следующий вызов возвращает null в событии:

MyFormView.FindControl("MyDropDownListID");

Что мне здесь не хватает?

(Я удостоверяюсь, что MyFormView.CurrentMode равно FormViewMode.Edit, прежде чем делать вышеуказанный вызов)


person dotNET    schedule 18.04.2014    source источник


Ответы (1)


Один из тех случаев, когда вы часами дергаете себя за волосы из-за проблемы, затем публикуете ее на SO и находите решение в ближайшие несколько минут. Любой, кто попал в ловушку этого, проблема в том, что элементы управления с привязкой к данным FormView еще не созданы во время ModeChanged или Page_Load. Вы должны вызвать указанную выше строку в событии DataBound, и она будет работать нормально.

person dotNET    schedule 18.04.2014