BaseCompareValidator.CanConvert Метод

Определение

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

Перегрузки

CanConvert(String, ValidationDataType)

Определяет, можно ли преобразовать заданную строку в указанный тип данных. Данная версия перегруженных версий метода проверяет значения валюты, двойные значение и значения даты, с использованием формата текущего языка и региональных параметров.

CanConvert(String, ValidationDataType, Boolean)

Определяет, можно ли преобразовать заданную строку в указанный тип данных. Эта перегруженная версия метода позволяет указать, следует ли проверять значения используя нейтральный формат языка и региональных параметров.

CanConvert(String, ValidationDataType)

Определяет, можно ли преобразовать заданную строку в указанный тип данных. Данная версия перегруженных версий метода проверяет значения валюты, двойные значение и значения даты, с использованием формата текущего языка и региональных параметров.

public:
 static bool CanConvert(System::String ^ text, System::Web::UI::WebControls::ValidationDataType type);
public static bool CanConvert (string text, System.Web.UI.WebControls.ValidationDataType type);
static member CanConvert : string * System.Web.UI.WebControls.ValidationDataType -> bool
Public Shared Function CanConvert (text As String, type As ValidationDataType) As Boolean

Параметры

text
String

Строка для проверки.

type
ValidationDataType

Одно из значений перечисления ValidationDataType.

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

Boolean

Значение true если заданную строку данных можно преобразовать в указанный тип данных; в противном случае — значение false.

Примеры

В следующем примере демонстрируется использование CanConvert метода для сравнения двух целых значений и определения возможности преобразования второго целого числа.


<%@ 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 runat="server">
    <title>BaseCompareValidator CanConvert Example</title>
<script runat="server">
 
      void Button_Click(Object sender, EventArgs e) 
      {
          
         // Display whether the value of TextBox1 passes validation.  
         if (Page.IsValid) 
         {

            lblOutput.Text = "Validation passed! ";

            // An input control passes validation if the value it is being 
            // compared to cannot be converted to the data type specified 
            // by the BaseCompareValidator.Type property. Be sure to use 
            // validation controls on each input control independently.

            // Test the values being compared for their data types.
            ValidateType(Page.IsValid);

         }
         else 
         {

            lblOutput.Text = "Validation failed! ";

            // Test the values being compared for their data types.
            ValidateType(Page.IsValid);

         }         

      }

      void ValidateType(bool Valid)
      {
          
         // Display an error message if the value of TextBox1 cannot be 
         // converted to the data type specified by the 
         // BaseCompareValidator.Type property (in this case an integer).
         if (!BaseCompareValidator.CanConvert(TextBox1.Text, ValidationDataType.Integer))
         {

            lblOutput.Text += "The first value is not an integer. ";

         }

         // Display an error message if the value of TextBox2 cannot be 
         // converted to the data type specified by the 
         // BaseCompareValidator.Type property (in this case an integer).
         if (!BaseCompareValidator.CanConvert(TextBox2.Text, ValidationDataType.Integer))
         {
          
            // An input control passes validation if the value it is being 
            // compared to cannot be converted to the data type specified 
            // by the BaseCompareValidator.Type property.  
            // Display a different message when this scenario occurs.
            if(Valid)
            {
               lblOutput.Text += "However, the second value is not an integer. ";
            }
            else
            {
               lblOutput.Text += "The second value is not an integer. ";
            }

         }

      }
 
   </script>
 
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>BaseCompareValidator CanConvert Example</h3>
      <p>
      Enter an integer in each text box. <br />
      Click "Validate" to compare the values <br />
      for equality.
      </p>
 
      <table style="background-color:#eeeeee; padding:10">

         <tr valign="top">

            <td>

               <h5>Value 1:</h5>
               <asp:TextBox id="TextBox1" 
                    runat="server"/>

            </td>


            <td>

               <h5>Value 2:</h5>
               <asp:TextBox id="TextBox2" 
                    runat="server"/>
               <p>
               <asp:Button id="Button1"
                    Text="Validate"  
                    OnClick="Button_Click" 
                    runat="server"/>
                </p>
            </td>
         </tr>

      </table>
 
      <asp:CompareValidator id="Compare1" 
           ControlToValidate="TextBox1" 
           ControlToCompare="TextBox2"
           EnableClientScript="False" 
           Type="Integer" 
           runat="server"/>
 
      <br />
       
      <asp:Label id="lblOutput" 
           Font-Names="verdana" 
           Font-Size="10pt" 
           runat="server"/>
 
   </form>
 
</body>
</html>

<%@ 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 runat="server">
    <title>BaseCompareValidator CanConvert Example</title>
<script runat="server">
 
      Sub Button_Click(sender As Object, e As EventArgs) 
          
         ' Display whether the value of TextBox1 passes validation.  
         If Page.IsValid Then 

            lblOutput.Text = "Validation passed! "

            ' An input control passes validation if the value it is being 
            ' compared to cannot be converted to the data type specified 
            ' by the BaseCompareValidator.Type property. Be sure to use 
            ' validation controls on each input control independently.

            ' Test the values being compared for their data types.
            ValidateType(Page.IsValid)

         Else 

            lblOutput.Text = "Validation failed! "

            ' Test the values being compared for their data types.
            ValidateType(Page.IsValid)

         End If         

      End Sub

      Sub ValidateType(Valid As Boolean)
          
         ' Display an error message if the value of TextBox1 cannot be 
         ' converted to the data type specified by the 
         ' BaseCompareValidator.Type property (in this case an integer).
         If Not BaseCompareValidator.CanConvert(TextBox1.Text, ValidationDataType.Integer) Then

            lblOutput.Text &= "The first value is not an integer. "

         End If

         ' Display an error message if the value of TextBox2 cannot be 
         ' converted to the data type specified by the 
         ' BaseCompareValidator.Type property (in this case an integer).
         If Not BaseCompareValidator.CanConvert(TextBox2.Text, ValidationDataType.Integer) Then
          
            ' An input control passes validation if the value it is being 
            ' compared to cannot be converted to the data type specified 
            ' by the BaseCompareValidator.Type property. 
            ' Display a different message when this scenario occurs.
            If Valid Then

               lblOutput.Text &= "However, the second value is not an integer. "
            
            Else
            
               lblOutput.Text &= "The second value is not an integer. "

            End If

         End If

      End Sub
 
   </script>
 
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>BaseCompareValidator CanConvert Example</h3>
      <p>
      Enter an integer in each text box. <br />
      Click "Validate" to compare the values <br />
      for equality.
      </p>
 
      <table  style="background-color:#eeeeee; padding:10">

         <tr valign="top">

            <td>

               <h5>Value 1:</h5>
               <asp:TextBox id="TextBox1" 
                    runat="server"/>

            </td>


            <td>

               <h5>Value 2:</h5>
               <asp:TextBox id="TextBox2" 
                    runat="server"/>
               <p>
               <asp:Button id="Button1"
                    Text="Validate"  
                    OnClick="Button_Click" 
                    runat="server"/>
                </p>    

            </td>
         </tr>

      </table>
 
      <asp:CompareValidator id="Compare1" 
           ControlToValidate="TextBox1" 
           ControlToCompare="TextBox2"
           EnableClientScript="False" 
           Type="Integer" 
           runat="server"/>
 
      <br />
       
      <asp:Label id="lblOutput" 
           Font-Names="verdana" 
           Font-Size="10pt" 
           runat="server"/>
 
   </form>
 
</body>
</html>

Комментарии

Используйте метод, CanConvert(String, ValidationDataType) чтобы определить, можно ли преобразовать указанную строку в указанный тип данных. Этот метод обычно используется для проверки возможности преобразования строки в совместимый тип данных перед выполнением операции, которая зависит от этого типа данных.

Эта версия метода проверяет значение с помощью формата, используемого текущим языком и региональными параметрами. Чтобы проверить значение с помощью нейтрального языка и региональных параметров, используйте BaseCompareValidator.CanConvert(String, ValidationDataType, Boolean) перегруженную версию этого метода.

См. также раздел

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

CanConvert(String, ValidationDataType, Boolean)

Определяет, можно ли преобразовать заданную строку в указанный тип данных. Эта перегруженная версия метода позволяет указать, следует ли проверять значения используя нейтральный формат языка и региональных параметров.

public:
 static bool CanConvert(System::String ^ text, System::Web::UI::WebControls::ValidationDataType type, bool cultureInvariant);
public static bool CanConvert (string text, System.Web.UI.WebControls.ValidationDataType type, bool cultureInvariant);
static member CanConvert : string * System.Web.UI.WebControls.ValidationDataType * bool -> bool
Public Shared Function CanConvert (text As String, type As ValidationDataType, cultureInvariant As Boolean) As Boolean

Параметры

text
String

Строка для проверки.

type
ValidationDataType

Одно из значений перечисления ValidationDataType.

cultureInvariant
Boolean

true для проверки значений, используя нейтральный формат языка и региональных параметров; иначе — false.

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

Boolean

Значение true если заданную строку данных можно преобразовать в указанный тип данных; в противном случае — значение false.

Комментарии

Используйте метод, CanConvert(String, ValidationDataType, Boolean) чтобы определить, можно ли преобразовать указанную строку в указанный тип данных. Этот метод обычно используется для проверки возможности преобразования строки в совместимый тип данных перед выполнением операции, которая зависит от этого типа данных. Чтобы указать, что значения должны тестироваться с помощью нейтрального формата языка и региональных параметров, передайте true их для cultureInvariant параметра; в противном случае значения проверяются с помощью формата, используемого текущим языком и региональными параметрами. При тестировании значения с использованием формата, используемого текущим языком и региональными параметрами, рекомендуется использовать BaseCompareValidator.CanConvert(String, ValidationDataType) перегруженную версию этого метода.

См. также раздел

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