HtmlButton.ValidationGroup 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置在 HtmlButton 回发到服务器时导致验证的控件组。
public:
virtual property System::String ^ ValidationGroup { System::String ^ get(); void set(System::String ^ value); };
public virtual string ValidationGroup { get; set; }
member this.ValidationGroup : string with get, set
Public Overridable Property ValidationGroup As String
属性值
在 HtmlButton 控件回发到服务器时导致验证的控件组。 默认值为空字符串 (""),指示尚未设置此属性。
示例
下面的代码示例演示如何使用 ValidationGroup 属性来指定控件在控件发回服务器时 HtmlButton 要验证的控件。 该页包含两个文本框用于从用户捕获数据,以及两 RequiredFieldValidator 个控件,以确保用户不会将文本框留空。 第 RequiredFieldValidator 一个文本框的控件位于 CityInfoGroup
验证组中, RequiredFieldValidator 第二个文本框的控件位于 StateInfoGroup
验证组中。
CityQueryButton
单击 时,仅验证验证组中的CityInfoGroup
控件。
StateQueryButton
单击 时,仅验证验证组中的StateInfoGroup
控件。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void SubmitButton_Click(Object sender, EventArgs e)
{
// Determine which button was clicked.
switch (((HtmlButton)sender).ID)
{
case "CityQueryButton":
if (CityReqValidator.IsValid)
{
// Indicate that the city query was selected.
Message.InnerHtml = "You have chosen to run a query for the following city: " +
CityTextBox.Value;
}
break;
case "StateQueryButton":
if (StateReqValidator.IsValid)
{
// Indicate that the state query was selected.
Message.InnerHtml = "You have chosen to run a query for the following state: " +
StateTextBox.Value;
}
break;
default:
// If the button clicked is not recognized, erase the message on the page.
Message.InnerHtml = "";
break;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>HtmlButton ValidationGroup Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>HtmlButton ValidationGroup Example</h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<input id="CityTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator
ID="CityReqValidator"
ControlToValidate="CityTextBox"
ValidationGroup="CityInfoGroup"
ErrorMessage="Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="CityQueryButton"
causesvalidation="True"
validationgroup="CityInfoGroup"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<input id="StateTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator
ID="StateReqValidator"
ControlToValidate="StateTextBox"
ValidationGroup="StateInfoGroup"
ErrorMessage="Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="StateQueryButton"
causesvalidation="True"
validationgroup="StateInfoGroup"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
</table>
<br /><br />
<span id="Message"
runat="Server"/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub SubmitButton_Click(ByVal sender As Object, ByVal e As EventArgs)
' Determine which button was clicked.
Select Case (CType(sender, HtmlButton)).ID
Case "CityQueryButton"
If (CityReqValidator.IsValid) Then
' Indicate that the city query was selected.
Message.InnerHtml = "You have chosen to run a query for the following city: " & _
CityTextBox.Value
End If
Case "StateQueryButton"
If (StateReqValidator.IsValid) Then
' Indicate that the state query was selected.
Message.InnerHtml = "You have chosen to run a query for the following state: " & _
StateTextBox.Value
End If
Case Else
' If the button clicked is not recognized, erase the message on the page.
Message.InnerHtml = ""
End Select
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title> HtmlButton CausesValidation Example </title>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlButton CausesValidation Example </h3>
<table border="1" cellpadding="10">
<tr>
<td>
<b>Enter city to query.</b> <br />
<input id="CityTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator
ID="CityReqValidator"
ControlToValidate="CityTextBox"
ValidationGroup="CityInfoGroup"
ErrorMessage="Please enter a city."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="CityQueryButton"
causesvalidation="True"
validationgroup="CityInfoGroup"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
<tr>
<td>
<b>Enter state to query.</b> <br />
<input id="StateTextBox"
type="Text"
runat="server"/>
<asp:RequiredFieldValidator
ID="StateReqValidator"
ControlToValidate="StateTextBox"
ValidationGroup="StateInfoGroup"
ErrorMessage="Please enter a state."
Display="Dynamic"
EnableClientScript="False"
runat="server"/>
</td>
<td valign="bottom">
<button id="StateQueryButton"
causesvalidation="True"
validationgroup="StateInfoGroup"
onserverclick="SubmitButton_Click"
runat="server">
Submit
</button>
</td>
</tr>
</table>
<br /><br />
<span id="Message"
runat="Server"/>
</form>
</body>
</html>
注解
通过验证组,可以将页面上的验证控件分配给特定类别。 每个验证组都可以独立于页面上的其他验证组进行验证。 ValidationGroup使用 属性可以指定控件在发回服务器时导致验证的验证组HtmlButton的名称。
仅当 属性的值设置为 true
时,CausesValidation此属性才有效。 为 ValidationGroup 属性指定值时,当控件回发到服务器时 HtmlButton ,仅验证属于指定组的验证控件。 如果未为此属性指定值,并且 属性 CausesValidation 设置为 true
,则当控件发回服务器时,将验证页面上未分配给验证组的所有验证控件。