BaseCompareValidator.CanConvert Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Determina se a cadeia especificada pode ser convertida para o tipo de dado especificado.
Sobrecargas
| Name | Description |
|---|---|
| CanConvert(String, ValidationDataType) |
Determina se a cadeia especificada pode ser convertida para o tipo de dado especificado. Esta versão do método sobrecarregado testa valores de moeda, duplo e de data usando o formato usado pela cultura atual. |
| CanConvert(String, ValidationDataType, Boolean) |
Determina se a cadeia especificada pode ser convertida para o tipo de dado especificado. Esta versão do método sobrecarregado permite especificar se os valores são testados usando um formato neutro em relação à cultura. |
CanConvert(String, ValidationDataType)
Determina se a cadeia especificada pode ser convertida para o tipo de dado especificado. Esta versão do método sobrecarregado testa valores de moeda, duplo e de data usando o formato usado pela cultura atual.
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
Parâmetros
- text
- String
A cadeia de caracteres a ser testada.
- type
- ValidationDataType
Um dos ValidationDataType valores.
Devoluções
true se a cadeia de dados especificada puder ser convertida para o tipo de dados especificado; caso contrário, false.
Exemplos
O exemplo seguinte demonstra o uso do CanConvert método para comparar dois valores inteiros e determinar se o segundo inteiro pode ser convertido.
<%@ 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>
Observações
Use o CanConvert(String, ValidationDataType) método para determinar se a cadeia especificada pode ser convertida para o tipo de dado especificado. Este método é frequentemente usado para testar se uma cadeia pode ser convertida para um tipo de dado compatível antes de realizar uma operação que dependa desse tipo de dado.
Esta versão do método testa o valor usando o formato utilizado pela cultura atual. Para testar o valor usando um formato neutro em relação à cultura, use a BaseCompareValidator.CanConvert(String, ValidationDataType, Boolean) versão sobrecarregada deste método.
Ver também
Aplica-se a
CanConvert(String, ValidationDataType, Boolean)
Determina se a cadeia especificada pode ser convertida para o tipo de dado especificado. Esta versão do método sobrecarregado permite especificar se os valores são testados usando um formato neutro em relação à cultura.
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
Parâmetros
- text
- String
A cadeia de caracteres a ser testada.
- type
- ValidationDataType
Um dos ValidationDataType valores de enumeração.
- cultureInvariant
- Boolean
true testar valores usando um formato neutro em relação à cultura; caso contrário, false.
Devoluções
true se a cadeia de dados especificada puder ser convertida para o tipo de dados especificado; caso contrário, false.
Observações
Use o CanConvert(String, ValidationDataType, Boolean) método para determinar se a cadeia especificada pode ser convertida para o tipo de dado especificado. Este método é frequentemente usado para testar se uma cadeia pode ser convertida para um tipo de dado compatível antes de realizar uma operação que dependa desse tipo de dado. Para indicar que os valores devem ser testados usando um formato neutro em relação à cultura, passe para true o cultureInvariant parâmetro; caso contrário, os valores são testados usando o formato usado pela cultura atual. Ao testar um valor usando o formato usado pela cultura atual, considere usar a BaseCompareValidator.CanConvert(String, ValidationDataType) versão sobrecarregada deste método.