0

ユーザー コントロールがあり、bool IsValidDate プロパティがあります。CustomValidator を使用してこの値をチェックし、プロパティの値が false の場合にエラー メッセージを返すにはどうすればよいですか?

4

1 に答える 1

1

ユーザーコントロールが次のようになっている場合:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyDateUserControl.ascx.cs" Inherits="CustomValidation.MyDateUserControl" %>

My custom user control
<asp:TextBox runat="server" ID="DateTextBox" />

<asp:CustomValidator  runat="server" ValidateEmptyText="true" ID="DateCustomValidator" ControlToValidate="DateTextBox"  OnServerValidate="DateCustomValidator_ServerValidate" ErrorMessage="The date is not valid" />

<asp:Button ID="SubmitButton" runat="server" Text="Submit" />

次に、コードビハインドで次を使用できます。

public bool IsValidDate
{
    get
    {
        DateTime temp;
        return DateTime.TryParse(DateTextBox.Text, out temp);
    }
}

protected void DateCustomValidator_ServerValidate(object source, ServerValidateEventArgs args)
{
    args.IsValid = IsValidDate;
}

カスタムバリデーターをユーザーコントロールの一部にしたくない場合は、ユーザーコントロールIsValidDateの名前をプレフィックスとして付ける必要があります。

于 2012-04-16T08:16:43.923 に答える