none
Jquery и UpdatePanel RRS feed

  • Вопрос

  • Всем доброго времени суток!=)

    На представленном ниже коде есть кнопка(id="content_width"), объявлена в javascript, при помощи jQuery, а также asp TreeView и все это заключено в UpdatePanel.

    Для начала примерчик кода:

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
                                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                                    <ContentTemplate>   
                                <div id="tree_project" class="tree_project"> 
                                    <asp:TreeView ID="tree_view" runat="server" Font-Names="Verdana" Font-Size="0.95em" ShowLines="True" PathSeparator="." OnSelectedNodeChanged="tree_view_SelectedNodeChanged">
                                        <SelectedNodeStyle Font-Bold="True" />
                                    </asp:TreeView>  
                                </div>
                                <div id="content_project" class="content_project">
                                    <div class="without_borders min_header">
                                        <div id="content_width" class="change_widht" title="Развернуть"></div>
                                    </div>
                                    <div id="content_body" runat="server"></div>
                                </div> 
                                </ContentTemplate> 
                            </asp:UpdatePanel> 

    При загрузке все отображается отлично, так же события кнопок тоже отрабатывает отлично, но если кликнуть по узлу дерева и после отработки события "OnSelectedNodeChanged="tree_view_SelectedNodeChanged"", кнопка(id="content_width") пропадает со страницы О_О.

    Может кто сталкивался  с подобным или сможет теоретически сказать причину?=)


    • Изменено wUI 10 апреля 2013 г. 4:46
    10 апреля 2013 г. 4:31

Ответы

  • При клике на узлы TreeView происходит AJAX запрос на сервер, в результате содержимое UpdatePanel обновляется. Поэтому если у вас есть скрипты для манипуляции теми же div, которые находятся в UpdatePanel, их надо запустить повторно. Можете импользовать класс Sys.WebForms.PageRequestManager, в частности его событие endRequest.
    • Помечено в качестве ответа wUI 10 апреля 2013 г. 8:01
    10 апреля 2013 г. 5:53
    Модератор

Все ответы

  • При клике на узлы TreeView происходит AJAX запрос на сервер, в результате содержимое UpdatePanel обновляется. Поэтому если у вас есть скрипты для манипуляции теми же div, которые находятся в UpdatePanel, их надо запустить повторно. Можете импользовать класс Sys.WebForms.PageRequestManager, в частности его событие endRequest.
    • Помечено в качестве ответа wUI 10 апреля 2013 г. 8:01
    10 апреля 2013 г. 5:53
    Модератор
  • Ок!=) Спасибо!
    10 апреля 2013 г. 8:01