Asp.net Web из динамических элементов управления на основе динамических элементов - PullRequest
1 голос
/ 07 сентября 2010

Я использую элемент управления мастера, шаг 1 имеет список со списком, содержащим записи 1-10. Шаг 2 затем динамически построить и отображает 1 список на каждую запись. Каждый список в шаге 2 содержит 5 записей каждый. У меня есть еще один шаг, который должен прочитать списки из шага 2 и получить их значения для отображения 3 переключателей для каждой выбранной записи из шага 2.

В настоящее время у меня есть 3 метода, которые я запускаю populateStep1 () populateStep2 () populateStep3 (). Я запускаю каждый в Page_Load.

void page_load()
{
    if(!Page.IsPostBack)
    {
      populateStep1();
    }

    populateStep2();
    populateStep3();
}

Моя проблема в том, что шаг 3 никогда не работает с первого раза. Работает второй раз, но не первый. Я считаю, что это связано с тем, что к элементам управления на шаге 2 еще не применено состояние просмотра, поэтому ничего не выбрано.

Кто-нибудь хочет набросать / указать мне шаблон для работы с динамическими элементами управления, которые зависят от других динамических элементов управления?

1 Ответ

0 голосов
/ 07 сентября 2010

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

Так как состояние просмотра гидратируется перед Page_Load, вы добавляете вещи слишком поздно.

Переместите свою логику в метод Page_Init, и вы должны быть золотым.

void Page_Init()
{
    if(!Page.IsPostBack)
    {
      populateStep1();
    }

    populateStep2();
    populateStep3();
}
...