Элементы управления внутри панели обновления и JQuery Form Look and Feel Plugin Проблема !!!ПОМОГИТЕ - PullRequest
1 голос
/ 20 августа 2010

У меня проблема с обновлением внешнего вида элемента формы под управлением панели обновления.Я использовал Uniform JQuery Plugin для формирования элементов управления формы, таких как DropDown.это работает очень хорошо в форме ASP.net, но я использовал панель обновления для создания элементов CheckboxList, когда пользователь выбирает элемент dropDownList.Картинка ниже показывает форму Look and Feel:alt text

, но когда я выбираю категорию из списка, чтобы обновить шаблон UpdatePanel и обновить флажки, единый стиль удаляется из элементов управления, расположенных на панели обновления:alt text

Вызываю единую функцию над формой:

            <script type="text/javascript">
                $(function() {
                    $("input, textarea, select, button").uniform();
                });
            </script>

и разметка панели обновления:

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <p>
                انتخاب دسته:&nbsp;<myCtrl:CategoryDDL AutoPostback="True" EmptyItemText="همه‌ی دسته‌ها"
                    ID="CategoryDDL" OnSelectedIndexChanged="CategoryDDL_SelectedIndexChanged" runat="server"
                    SelectedCategoryId="0" />
            </p>
            <p>
                برند محصولات<br />
                <asp:CheckBoxList ID="CheckBoxListBrands" runat="server">
                </asp:CheckBoxList>
            </p>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="CategoryDDL" />
        </Triggers>
    </asp:UpdatePanel>

Знает ли кто-нибудь может помочь мне исправить эту ошибку ???Есть ли какой-нибудь способ не допустить удаления стиля элемента управления панели обновления?

Ответы [ 2 ]

1 голос
/ 20 августа 2010

Вы не можете удержать его от удаления стилей (элементы полностью заменены), но вы можете повторно применить его, запустив это один раз в своем коде:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
  $("#updatePanelDiv :input").uniform();
});

Что это значит прикрепитьобработчик событий для повторного запуска плагина, когда срабатывает событие endRequest UpdatePanel (каждый раз, когда он возвращается с новым контентом / элементами).

Как отмечено в комментариях, переносUpdatePanel в обертке ограничит плагин только этой областью.

0 голосов
/ 12 марта 2013

изменить этот метод

$(function() {
$("input, textarea, select, button").uniform();
});

с

function pageLoad(){
 $("input, textarea, select, button").uniform();
}

вот и все ..

...