2008-11-05 3 views
1

Проблема, с которой я сталкиваюсь, - это проблема, которую я боюсь, это проблема дизайна, а не проблема с кодированием, но я все равно задам вопрос.Проблема ввода режима редактирования в FormView

У меня есть веб-приложение ASP.NET 2.0, которое динамически загружает два разных пользовательских элемента управления на основе значения из базы данных. Внутри каждого из этих элементов управления пользователя в основном используется элемент управления FormView и элемент управления SqlDataSource, который отображает значения из базы данных. Один из этих элементов управления предназначен только для отображения данных (я использовал FormView, чтобы я мог легче управлять компоновкой), а другой FormView мне нужно, чтобы пользователи могли редактировать.

На этой странице вы можете выбрать раскрывающееся меню, чтобы изменить, какое «магическое значение» используется для загрузки элементов управления. Этот снимок имеет автоматическую обратную передачу.

Когда происходит обратная связь, все выглядит нормально после того, как элементы управления динамически загружаются, но когда вы нажимаете кнопку редактирования, она просто обновляет страницу, не помещая FormView в режим «Редактирование». вам нужно снова нажать кнопку «Изменить», чтобы это произошло.

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

ответ

1

где (какое событие) вы загружаете элементы управления пользователя? есть вероятность, что ваша кнопка редактирования уже подключена (ни к чему) к моменту загрузки ваших элементов управления ...

EDIT: положить контрольные точки на page_load и selected_index_changed, чтобы увидеть, когда они происходят; может быть, что page_load происходит сначала, что вытирает проводку; вы загружаете элементы управления, охраняемые! IsPostBack и включен ViewState? Viewstate может автоматически восстанавливать ваши элементы управления, но затем ваш page_load вытирает их снова ...

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

+0

Я использую событие Page_Load для загрузки элементов управления изначально, а затем Selected_Index изменен событие для выпадающего списка. Меня беспокоит то, что если я не запускаю событие SelectedIndex, все работает так, как ожидалось. – 2008-11-06 15:41:01

 Смежные вопросы

  • Нет связанных вопросов^_^