CompareValidator.EvaluateIsValid Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе данный метод содержит код, чтобы определить, является ли допустимым значение во входном элементе управления.
protected:
override bool EvaluateIsValid();
protected override bool EvaluateIsValid ();
override this.EvaluateIsValid : unit -> bool
Protected Overrides Function EvaluateIsValid () As Boolean
true
, если значение во входном элементе управления является допустимым; в противном случае — false
.
В следующем примере кода показано, как переопределить EvaluateIsValid метод в пользовательском серверном элементе управления, чтобы он всегда возвращал true
, если значения двух указанных элементов управления совпадают, и false
в противном случае .
Маңызды
В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!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 CompareValidator - EvaluateIsValid - C# Example</title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Run the Page Validate method in order to force
// the CompareValidate to show it's error message.
Page.Validate();
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom CompareValidator - EvaluateIsValid - C# Example</h3>
<asp:TextBox id="TextBox1" runat="server">123</asp:TextBox><br />
<asp:TextBox id="TextBox2" runat="server">123</asp:TextBox>
<aspSample:CustomCompareValidatorEvaluateIsValid
id="CompareValidator1"
runat="server"
ErrorMessage="Value in TextBox2 does not match value in TextBox1."
Display="Dynamic"
ControlToCompare="TextBox2"
ControlToValidate="TextBox1" /><br />
<asp:Button id="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page language="VB" %>
<!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 CompareValidator - EvaluateIsValid - VB.NET Example</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom CompareValidator - EvaluateIsValid - C# Example</h3>
<asp:TextBox id="TextBox1" runat="server">123</asp:TextBox><br />
<asp:TextBox id="TextBox2" runat="server">123</asp:TextBox>
<aspSample:CustomCompareValidatorEvaluateIsValid
id="CompareValidator1" runat="server"
ErrorMessage="Value in TextBox2 does not match value in TextBox1."
Display="Dynamic" ControlToCompare="TextBox2" ControlToValidate="TextBox1" /><br />
<asp:Button id="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet
{
[AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomCompareValidatorEvaluateIsValid : System.Web.UI.WebControls.CompareValidator
{
protected override bool EvaluateIsValid()
{
// Get the values from the two controls
string controlToValidateValue = this.GetControlValidationValue(this.ControlToValidate);
string controlToCompareValue = this.GetControlValidationValue(this.ControlToCompare);
// If the values are the same, return true, else return false.
if (System.String.Compare(controlToValidateValue, 0, controlToCompareValue, 0, controlToCompareValue.Length, false, System.Globalization.CultureInfo.InvariantCulture) == 0)
{
return true;
}
else
{
return false;
}
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomCompareValidatorEvaluateIsValid
Inherits System.Web.UI.WebControls.CompareValidator
Protected Overrides Function EvaluateIsValid() As Boolean
' Get the values from the two controls
Dim controlToValidateValue As String = Me.GetControlValidationValue(Me.ControlToValidate)
Dim controlToCompareValue As String = Me.GetControlValidationValue(Me.ControlToCompare)
' If the values are the same, return true, else return false.
If (System.String.Compare(controlToValidateValue, 0, controlToCompareValue, 0, controlToCompareValue.Length, False, System.Globalization.CultureInfo.InvariantCulture) = 0) 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 — бастапқы коды ашық жоба. Пікір қалдыру үшін сілтемені таңдаңыз: