Вопрос по asp.net – Как вы управляете порядком стрельбы в asp.net?

1

Вопрос кажется тривиальным, но я не нашел ответа в Google.

Если у меня есть несколько независимых элементов управления в веб-форме, например, DropDownLists и grid, и мне нужно использовать информацию обратной передачи из одного обработчика событий в другом обработчике событий, поэтому мне нужно, чтобы он срабатывал правильно один за другим.

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

UPD .: если мне нужно использовать информацию обратной передачи из одного элемента управления в другой - например, dropdownlist.SelectedValue в обработчике привязки данных RadGrid.NeedDataSource - каков обычный способ его отправки?

Ваш Ответ

3   ответа
1

механизм запуска событий по умолчанию в ASP.Net не гарантирует какой-либо порядок. Таким образом, вы должны разработать свой программный поток так, чтобы вы не зависели от него. Если вы можете упомянуть ваше точное требование, возможно, об этом можно подумать.

4

вы не должны создавать обработчики событий, основанные на порядке запуска. Это не рекомендуемая практика. От Модель событий управления веб-сервером ASP.NET:

Вам не следует создавать логику приложения, которая основывается на событиях изменения, вызываемых в определенном порядке, если у вас нет подробных знаний об обработке событий страницы. Подробнее см. Обзор жизненного цикла страницы ASP.NET.

Возможно, в вашем дизайне есть недостаток, если вы полагаетесь на это. Если вы опубликуете более подробную информацию, мы посмотрим, сможем ли мы вам помочь.

РЕДАКТИРОВАТЬ: Руднев, я раньше пользовался RadGrid, но не могу вспомнить точное назначение события NeedDataSource. Разве не было бы достаточно установить в раскрывающемся списке автоматическую публикацию после его изменения, а затем в обработчике событий установить для источника данных вашей таблицы значение соответствующего источника и вызвать для него функцию DataBind ()?

Хорошо, сложно обсуждать конкретный случай. я узнал, что прямого пути нет, поэтому я создал ajaxified radgrid, который не нуждается в обратной передаче. Но все же основной вопрос остается без ответа - можем ли мы использовать информацию обратной передачи от одного (или нескольких) обработчиков в другом обработчике, и если ответ - нет, мы даже не должны пытаться, какой самый простой обходной путь? rudnev
0

то концептуально «событие», на которое он отвечает, является завершением первого события. Я думаю, что вы застряли, вызывая пользовательское событие или вызывая цепочку методов вручную, в зависимости от ситуации.

Похожие вопросы