CustomValidator.ServerValidate 事件

定义

CustomValidator 验证 ControlToValidate 属性的值时发生。 此 API 已废弃不用。 有关如何开发 ASP.NET 移动应用程序的信息,请参阅 移动应用 & 具有 ASP.NET 的网站

public:
 event System::Web::UI::WebControls::ServerValidateEventHandler ^ ServerValidate;
[System.ComponentModel.Bindable(false)]
public event System.Web.UI.WebControls.ServerValidateEventHandler ServerValidate;
[<System.ComponentModel.Bindable(false)>]
member this.ServerValidate : System.Web.UI.WebControls.ServerValidateEventHandler 
Public Custom Event ServerValidate As ServerValidateEventHandler 

事件类型

属性

示例

以下示例演示如何捕获 事件以 ServerValidate 添加逻辑来验证页面。

<%@ Page Language="C#" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>

<script runat="server">
    // If the page validates, go to page 2
    protected void Submit_Click(Object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            ActiveForm = Form2;
        }
    }
    
    // Validate whether the number is even
    private void ServerValidate(object source, 
        ServerValidateEventArgs args)
    {
        // Convert the text to a number
        int num;
        Int32.TryParse(numberBox.Text, out num);
        // Test for an even number
        if (num > 0)
            args.IsValid = ((num % 2) == 0);
        else
            args.IsValid = false;
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <mobile:form id="Form1" runat="server">
        <mobile:Label ID="Label1" runat="server">
            Please enter an even number greater than zero.
        </mobile:Label>
        <mobile:TextBox ID="numberBox" Runat="server" 
            Numeric="true" MaxLength="2" />
        <mobile:CustomValidator ID="CustomValidator1" 
            ControlToValidate="numberBox"
            OnServerValidate="ServerValidate" runat="server">
            Your number is not an even number.
        </mobile:CustomValidator>
        <mobile:Command ID="Command1" runat="server" 
            OnClick="Submit_Click">
            Submit
        </mobile:Command>
    </mobile:form>
    <mobile:Form id="Form2" runat="server">
        <mobile:Label ID="Label2" runat="server">
            Your number is an even number.
        </mobile:Label>
    </mobile:Form>
</body>
</html>
<%@ Page Language="VB" 
    Inherits="System.Web.UI.MobileControls.MobilePage" %>
<%@ Register TagPrefix="mobile" 
    Namespace="System.Web.UI.MobileControls" 
    Assembly="System.Web.Mobile" %>

<script runat="server">
    ' If the page validates, go to page 2
    Protected Sub Submit_Click(ByVal sender As Object, ByVal e As EventArgs)
        If (Page.IsValid) Then
            ActiveForm = Form2
        End If
    End Sub
    
    ' Validate whether the number is even
    Private Sub ServerValidate(ByVal source As Object, _
        ByVal args As ServerValidateEventArgs)
    
        ' Convert the text to a number
        Dim num As Integer
        Integer.TryParse(numberBox.Text, num)
        ' Test for an even number
        If (num > 0) Then
            args.IsValid = ((num Mod 2) = 0)
        Else
            args.IsValid = False
        End If
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <mobile:form id="Form1" runat="server">
        <mobile:Label ID="Label1" runat="server">
            Please enter an even number greater than zero.
        </mobile:Label>
        <mobile:TextBox ID="numberBox" Runat="server" 
            Numeric="true" MaxLength="2" />
        <mobile:CustomValidator ID="CustomValidator1" 
            ControlToValidate="numberBox"
            OnServerValidate="ServerValidate" runat="server">
            Your number is not an even number.
        </mobile:CustomValidator>
        <mobile:Command ID="Command1" runat="server" 
            OnClick="Submit_Click">
            Submit
        </mobile:Command>
    </mobile:form>
    <mobile:Form id="Form2" runat="server">
        <mobile:Label ID="Label2" runat="server">
            Your number is an even number.
        </mobile:Label>
    </mobile:Form>
</body>
</html>

注解

如果方法注册到此事件,则使用 属性的值 ControlToValidate 调用该方法。 仅当此事件处理程序返回 时, true验证才会成功。

适用于

另请参阅