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.
Возвращаемое значение
Значение 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
.
Возвращаемое значение
Значение true
если заданную строку данных можно преобразовать в указанный тип данных; в противном случае — значение false
.
Комментарии
Используйте метод, CanConvert(String, ValidationDataType, Boolean) чтобы определить, можно ли преобразовать указанную строку в указанный тип данных. Этот метод обычно используется для проверки возможности преобразования строки в совместимый тип данных перед выполнением операции, которая зависит от этого типа данных. Чтобы указать, что значения должны тестироваться с помощью нейтрального формата языка и региональных параметров, передайте true
их для cultureInvariant
параметра; в противном случае значения проверяются с помощью формата, используемого текущим языком и региональными параметрами. При тестировании значения с использованием формата, используемого текущим языком и региональными параметрами, рекомендуется использовать BaseCompareValidator.CanConvert(String, ValidationDataType) перегруженную версию этого метода.