【问题标题】:client validation of user control without postback用户控件的客户端验证,无需回发
【发布时间】:2012-07-02 06:56:03
【问题描述】:

我在两个不同的 ajax 更新面板中有一个包含两个用户控件的页面。一个控件具有文本框,而另一个控件具有按钮。我为两个用户控件的控件设置了相同的验证组。当我点击按钮时,客户端验证会触发,但验证触发后会有一个回补。

我已经设置了这样的验证组:

 public string ValidationGroup
        {
            get
            {
                return txtFirstName.ValidationGroup;
            }
            set
            {
                txtFirstName.ValidationGroup = value;
                txtLastName.ValidationGroup = value;
                txtPhoneNumber.ValidationGroup = value;
                txtEmail.ValidationGroup = value;
                txtFaxNumber.ValidationGroup = value;
                txtCompany.ValidationGroup = value;
                txtAddress1.ValidationGroup = value;
                txtAddress2.ValidationGroup = value;
                txtCity.ValidationGroup = value;
                txtZipPostalCode.ValidationGroup = value;
            }
        }

and here is how first control is user with validation group set to that property:

 <nopCommerce:AddressEdit ID="ctrlBillingAddress" runat="server" IsNew="true" IsBillingAddress="true"
                        ValidationGroup="CheckoutConfirm" />

and here is how the control with button looks like:

 <nopCommerce:CheckoutConfirm ID="ctrlCheckoutConfirm" runat="server" OnePageCheckout="true"
                                        OnCheckoutStepChanged="ctrlCheckoutConfirm_CheckoutStepChanged" />

where as markup for the button is like this:

 <asp:LinkButton runat="server" ID="btnNextStep" 
                    OnClick="btnNextStep_Click" ValidationGroup="CheckoutConfirm" CausesValidation="true"><img src="App_Themes/darkOrange/images/btnPlaceOrder.png" alt="Place Order" /></asp:LinkButton>

请建议如何在没有回发的情况下进行客户端验证?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    你可以使用 javascript 来写这篇文章:

    function check(){
    if (Page_ClientValidate('validationgroup')) {
                return true;
            }
            else {
    
                return false;
            }
    }
    

    同时尝试在 chrome 中调试您的完整代码,可能您在某些行中也有错误。

    【讨论】:

      【解决方案2】:

      您的更新面板上的更新模式设置为什么?

      请参阅 asp.net 论坛上的 this post。这可能会对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-28
        • 2011-03-10
        • 2021-03-03
        • 2011-06-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多