Содержимое элемента управления AJAX Accordion, похоже, не инициализировано при Page_Load()

#controls #ajaxcontroltoolkit #accordion

#элементы управления #ajaxcontroltoolkit — набор инструментов #аккордеон #ajaxcontroltoolkit #accordion

Вопрос:

Я действительно пишу элемент управления label внутри содержимого следующим образом

     <ajaxToolkit:Accordion>
    <Panes>
        <ajaxToolkit:AccordionPane>
            <Header> ... </Header>
            <Content> 
               <asp:Label runat="server" ID="lblTest" />
            </Content>
        </ajaxToolkit:AccordionPane>        
        .
        .
        .
    </Panes>      


    </ajaxToolkit:Accordion>
  

И в коде, лежащем в основе file, я действительно пишу следующим образом

  protected void Page_Load(object sender, EventArgs e)
 {
    lblTest.Text = "Hello, World";
 }
  

Я получаю сообщение об ошибке при достижении кода, сообщение об ошибке: Ссылка на объект не установлена для экземпляра объекта

Ответ №1:

Добавить

 Accordion1.FindControl("nothing")
  

в, Page_Init() где Accordion1 находится ваш Accordion объект.

Ответ №2:

Недавно я столкнулся с этой проблемой, и хотя решение meejaydeep работает, оно кажется «взломанным». После некоторого исследования это, по-видимому, связано с версией AjaxControlToolkit 1.0. Однако эта проблема, похоже, исправлена в версии 3.5 инструментария. Поэтому, если вы можете перейти на эту версию, я бы посоветовал вам сделать это, в противном случае вам нужно будет реализовать исправление meetjaydeep.

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