CompareValidator.EvaluateIsValid Метод

Определение

При переопределении в производном классе данный метод содержит код, чтобы определить, является ли допустимым значение во входном элементе управления.

protected override bool EvaluateIsValid ();

Возвращаемое значение

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>
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;
      }
    }
  }
}

Применяется к

Өнім Нұсқалар
.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