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

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

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

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

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

Ответы на вопрос(3)

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

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

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

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

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

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

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

Ваш ответ на вопрос