CustomValidator.ServerValidate 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
CustomValidator 驗證 ControlToValidate 屬性的值時會發生。 這個 API 已經過時。 如需如何開發 ASP.NET 行動應用程式的資訊,請參閱 mobile Apps & Sites with 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
回 時,驗證才會成功。