Предотвращение полной обратной передачи для UserControl с помощью атрибута ValidationProperty

У меня есть пользовательский элемент управления ASP.NET, который реализует атрибут ValidationProperty. Этот атрибут успешно позволяет мне использовать RequiredFieldValidatorдля моего пользовательского элемента управления, однако при проверке он вызывает полную обратную передачу, а не использует проверку на основе javascript на стороне клиента.

Есть ли способ предотвратить это и включить проверку на стороне клиента без использования специального валидатора?

Вот как выглядит мой UserControl.

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ucBooleanRadio.ascx.cs" Inherits="MyCompany.Web.UserControls.ucBooleanRadio" %>

<div class="BooleanRadio">
    <input runat="server" id="radTrue" type="radio" name="BooleanRadio" value="True" /> Yes
    <input runat="server" id="radFalse" type="radio" name="BooleanRadio" value="False" /> No
</div>

[ValidationProperty("Checked")]
public partial class ucBooleanRadio : System.Web.UI.UserControl
{
    public Nullable<bool> Checked
    {
        get
        {
            if (radTrue.Checked || radFalse.Checked)
                return radTrue.Checked;
            else
                return null;
        }
        set
        {
            radTrue.Checked = value != null ? value.Value : false;
            radFalse.Checked = value != null ? !value.Value : false;                    
        }
    }
}

И вот как это используется

<uc1:ucBooleanRadio ID="ucAgree" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" CssClass="Validator" Display="Dynamic" ControlToValidate="ucAgree" InitialValue="" ErrorMessage="You must agree to continue."></asp:RequiredFieldValidator>

Page.Validate();
if (Page.IsValid)
{
    //Do stuff
}
5
задан Maxim Gershkovich 16 July 2012 в 05:50
поделиться