Проверка формы jQuery и панель обновления - PullRequest
1 голос
/ 09 февраля 2012

Я использую updatepanel в веб-форме asp.net с .net framework 4.0.Между тем я реализовал проверку формы jquery.Он хорошо работает с проверкой формы, но проблема, возникшая с панелью обновлений, не может выполнить частичную обратную передачу, но полную обратную передачу.Я благодарен за любой ответ.

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

<script type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(instance_initializeRequest);
    function instance_initializeRequest(sender, args) {
        if (!Validator()) {
            args.set_cancel(true);
        }
    } 

//    $(function () {
//        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
//        //Re-initialize jquery after an auto post back.
//        function EndRequestHandler(sender, args) {
//            //Do work after update panel fires.
//            var prm = Sys.WebForms.PageRequestManager.getInstance();
//            if (!Validate()) {
//                prm.abortPostBack();
//                args.set_cancel(true);
//            }
//            else {
//                prm.add_beginRequest();
//                args.set_cancel(false);
//            }
//        }
//    });
</script>

1 Ответ

2 голосов
/ 09 февраля 2012

Во-первых, если ваш код находится внутри панели обновления, он будет уничтожен при обратной передаче. Не имеет отношения к вашему вопросу, но только примечание. Во-вторых, если вы не установите updatepanel на updatemode = "conditional", он также обновит весь контент на других панелях обновления. Если вы все еще получаете полное обновление страницы, я бы попробовал сделать это следующим образом:

<script type="text/javascript">
 <!--
    function Post() {
        __doPostBack('<%= UpdatePanel1.ClientID  %>', '');
    }
 -->
 </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...