CustomValidator.ControlPropertiesValid Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет свойства элемента управления на допустимость значений.
protected:
override bool ControlPropertiesValid();
protected override bool ControlPropertiesValid ();
override this.ControlPropertiesValid : unit -> bool
Protected Overrides Function ControlPropertiesValid () As Boolean
Значение true
, если свойства элемента управления являются допустимыми. В противном случае — значение false
.
В следующем примере кода показано, как переопределить ControlPropertiesValid метод в пользовательском серверном элементе управления, чтобы он всегда возвращал значение видимого CustomValidator свойства, если ControlToValidate свойство элемента управления находится на странице и содержит свойства проверки.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom CustomValidator - ControlPropertiesValid - C# Example</title>
<script runat="server">
void CustomValidator1_ServerValidate(Object source, ServerValidateEventArgs args)
{
try
{
// Test whether the value entered into the text box is even.
int i = int.Parse(args.Value);
args.IsValid = ((i%2) == 0);
}
catch(Exception ex)
{
args.IsValid = false;
}
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom CustomValidator - ControlPropertiesValid - C# Example</h3>
<asp:Label id="Label1" runat="server" Text="Enter an even number:" AssociatedControlID="TextBox1" /><br />
<asp:TextBox id="TextBox1" runat="server" />
<aspSample:CustomCustomValidatorControlPropertiesValid
id="Customvalidator1"
runat="server"
ControlToValidate="TextBox1"
Display="Static"
ErrorMessage="Not an even number!"
OnServerValidate="CustomValidator1_ServerValidate" /><br /><br />
<asp:Button id="Button1" runat="server" Text="Validate" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom CustomValidator - ControlPropertiesValid - VB.NET Example</title>
<script runat="server">
Sub CustomValidator1_ServerValidate(source As Object, args As ServerValidateEventArgs)
args.IsValid = False
Try
' Test whether the value entered into the text box is even or not.
Dim i As Integer = Integer.Parse(args.Value)
If (i Mod 2) = 0 Then
args.IsValid = True
End If
Catch
End Try
End Sub
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom CustomValidator - ControlPropertiesValid - VB.NET Example</h3>
<asp:Label id="Label1" runat="server" Text="Enter an even number:" AssociatedControlID="TextBox1" /><br />
<asp:TextBox id="TextBox1" runat="server" />
<aspSample:CustomCustomValidatorControlPropertiesValid id="Customvalidator1" runat="server" ControlToValidate="TextBox1" Display="Static" ErrorMessage="Not an even number!" OnServerValidate="CustomValidator1_ServerValidate" /><br /><br />
<asp:Button id="Button1" runat="server" Text="Validate" />
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomCustomValidatorControlPropertiesValid : System.Web.UI.WebControls.CustomValidator
{
protected override bool ControlPropertiesValid()
{
string controlToValidate = this.ControlToValidate;
// Determine whether the ControlToValidate is on the page
// and contains a valid validation property.
if (controlToValidate.Length > 0)
{
base.CheckControlValidationProperty(controlToValidate, "ControlToValidate");
}
// If the control is visible, then control is valid
// and is ready for validation.
System.Web.UI.Control control = this.FindControl(controlToValidate);
return control.Visible;
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomCustomValidatorControlPropertiesValid
Inherits System.Web.UI.WebControls.CustomValidator
Protected Overrides Function ControlPropertiesValid() As Boolean
Dim controlToValidate As String = Me.ControlToValidate
' Determine whether the ControlToValidate is on the page
' and contains a valid validation property.
If controlToValidate.Length > 0 Then
MyBase.CheckControlValidationProperty(controlToValidate, "ControlToValidate")
End If
' If the control is visible, then control is valid
' and is ready for validation.
Dim control As System.Web.UI.Control = Me.FindControl(controlToValidate)
If control.Visible = True Then
Return True
Else
Return False
End If
End Function
End Class
End Namespace
Продукт | Версии |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: