Добавить свойство 'onchange' в DetailsView Boundfield

Я проектирую страницу с формами для редактирования полей в базе данных. Сначала я использовал элементы управления FormView, но по разным причинам я изменил их для элементов управления DetailsView. Их гораздо быстрее кодировать, а код гораздо аккуратнее, потому что вы просто добавляете граничное поле для каждого поля, которое хотите отобразить. Нет текстовых полей, ярлыков и т. Д. Пока все хорошо.

Однако во всех текстовых полях моих FormViews было указано свойство onchange, которое вызывало функцию JavaScript. По сути, это был механизм для предупреждения пользователя о том, что изменения были внесены и нуждаются в сохранении, и он работал отлично.

К сожалению, вы не можете добавить свойство onchange в Boundfield DetailsView. Я попытался добавить его программным способом в коде позади (VB) в событии DataBound DetailsView, работая над теорией, согласно которой при загрузке страницы поля границ отображаются в виде текстовых полей, но, как и ожидалось, это не работает.

Может кто-нибудь предложить способ репликации функциональности текстовых полей в моих FormViews, вызывая функцию JavaScript, когда текст в граничном поле изменяется? Я бы очень хотел придерживаться DetailsViews и Boundfields, если смогу. И если бы я мог добиться этого с помощью кода, возможно, перебирая поля для добавления функциональности, это означало бы всего несколько строк кода для каждого DetailsView, а не добавляло его декларативно для каждого Boundfield (есть LOTS!).

1 ответ

Решение

Это было намного проще, чем я думал. Можно добавить свойство onchange к самому DetailsView. Как только это будет сделано, любое изменение любого поля в DetailsView вызывает функцию JavaScript.

Другие вопросы по тегам