CustomValidator.ServerValidate 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当 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
验证才会成功。