【问题标题】:jQuery form validation and Update PaneljQuery 表单验证和更新面板
【发布时间】:2012-03-02 07:12:53
【问题描述】:

我在带有 .net framework 4.0 的 asp.net web 表单中使用 updatepanel。在这两者之间,我实现了 jquery 表单验证。它与表单验证配合得很好,但更新面板出现的问题不能进行部分回发,而是完全回发。感谢您的任何回复。

我有这样的东西,对表单进行验证,并在更新面板初始化请求时显示一些图像。

<script type="text/javascript">
    $(document).ready(function () {
        $(".logForm").validate();
        $('#main_UpdatePanelAccount').initializeRequest(function (options) {
            $("#flashAcc").show();
            $("#flashAcc").fadeIn(400).html('<img src="/image/load.gif" align="absmiddle">');
        });
    });
</script>

在此之后,我有这两个代码块(一个带有注释,另一个带有未注释)来确定是否回发。然而,这 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>

【问题讨论】:

    标签: c# jquery asp.net validation


    【解决方案1】:

    首先,如果您的代码在更新面板中,它将在回发时被清除。与您的问题无关,只是一个旁注。其次,除非您将 updatepanel 设置为 updatemode="conditional",否则它也会更新其他更新面板中的所有内容。如果您仍然获得整页刷新,我会尝试这样做:

    <script type="text/javascript">
     <!--
        function Post() {
            __doPostBack('<%= UpdatePanel1.ClientID  %>', '');
        }
     -->
     </script>
    

    【讨论】:

    • 你目前使用正确的模式,代码块位于更新面板之外:)
    猜你喜欢
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    相关资源
    最近更新 更多