BaseCompareValidator.CanConvert 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定指定的字符串是否可以转换为指定的数据类型。
重载
CanConvert(String, ValidationDataType) |
确定指定的字符串是否可以转换为指定的数据类型。 此版本的重载方法使用当前区域性使用的格式测试货币、Double 和日期值。 |
CanConvert(String, ValidationDataType, Boolean) |
确定指定的字符串是否可以转换为指定的数据类型。 此版本的重载方法允许您指定是否使用非特定区域性格式测试值。 |
CanConvert(String, ValidationDataType)
确定指定的字符串是否可以转换为指定的数据类型。 此版本的重载方法使用当前区域性使用的格式测试货币、Double 和日期值。
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) 此方法的重载版本。