Функция контроля C # Порядок загрузки - PullRequest
0 голосов
/ 10 октября 2011

Я пытаюсь, чтобы раскрывающийся список установил временную переменную в ViewState: ViewState["TempProductVariantId"]. Как только он установлен и страница перезагрузится, я хочу использовать эту переменную внутри функции. После завершения этой функции ViewState["TempProductVariantId"] устанавливается на 0. Моя проблема в том, что мне нужно знать, в каком порядке функции по умолчанию загружаются в элемент управления. То есть. Page_Load, OnPreRender, SelectedIndexChange, etc...

DropDownList SelectedIndexChange

protected void ArtistArtwork_SelectedIndexChange(object sender, EventArgs e)
{
    DropDownList ddl = sender as DropDownList;
    TempProductVariantId = int.Parse(ddl.SelectedValue);
}

Загрузка страницы

protected void Page_Load(object sender, EventArgs e)
{
    CreateAttributeControls();
    TempProductVariantId = 0;    
}

Проблема в том, что он работает буквально каждый раз, когда я изменяю выбранный индекс в DropDownList.

Итак, я снова хочу установить его, использовать его, отказаться от него. Любые советы будут оценены.

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

Вам нужно взглянуть на Обзор жизненного цикла страницы ASP.NET .В частности, посмотрите на события управления.Чтобы ответить на ваш конкретный пример, ArtistArtwork_SelectedIndexChange запускается после Page_Load.

1 голос
/ 10 октября 2011

Обзор жизненного цикла страницы asp.net можно найти здесь: http://msdn.microsoft.com/en-us/library/ms178472.aspx, но в основном его Page_init -> Viewstate загружен -> Page_Load -> События Firefox> Page_PreRender -> ViewState Saved -> Page_Render.Другой прием, который вы можете использовать, - это только инициализировать переменные состояния при начальной загрузке, проверив Page.IsPostBack (true при последующих загрузках страницы)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...