CommandField.CausesValidation Propriedade
Definição
Obtém ou define um valor que indica se a validação é realizada quando o usuário clica em um botão em um campo CommandField.Gets or sets a value indicating whether validation is performed when the user clicks a button in a CommandField field.
public:
virtual property bool CausesValidation { bool get(); void set(bool value); };
public override bool CausesValidation { get; set; }
member this.CausesValidation : bool with get, set
Public Overrides Property CausesValidation As Boolean
Valor da propriedade
true para executar a validação quando o usuário clica em um botão em um campo CommandField; caso contrário, false.true to perform validation when the user clicks a button in a CommandField field; otherwise, false. O padrão é true.The default is true.
Exemplos
O exemplo de código a seguir demonstra como usar a CausesValidation propriedade para impedir que a validação ocorra quando um botão em um CommandField campo é clicado.The following code example demonstrates how to use the CausesValidation property to prevent validation from occurring when a button in a CommandField field is clicked.
Importante
Este exemplo tem uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança.This example has a text box that accepts user input, which is a potential security threat. Por padrão, as páginas da Web do ASP.NET validam que a entrada do usuário não inclui elementos de script ou HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para obter mais informações, consulte Visão geral de explorações de script.For more information, see Script Exploits Overview.
<%@ Page language="C#" %>
<!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>CommandField CausesValidation Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>CommandField CausesValidation Example</h3>
<!-- Normally, the validation controls declared in the -->
<!-- EditItemTemplate of each TemplateField field column would -->
<!-- prevent the user from leaving a field value empty; however, -->
<!-- because the CausesValidation property of the CommandField -->
<!-- field column is set to false, validation does not occur when -->
<!-- the user clicks a button in the CommandField field column. -->
<asp:gridview id="CustomerGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="false"
datakeynames="CustomerID"
cellpadding="10"
runat="server">
<columns>
<asp:commandfield showeditbutton="true"
causesvalidation="false"
headertext="Edit"/>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"
readonly="true"/>
<asp:templatefield headertext="Company Name"
itemstyle-verticalalign="Top">
<itemtemplate>
<%#Eval("CompanyName")%>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="CompanyNameTextBox"
text='<%#Bind("CompanyName")%>'
width="90"
runat="server"/>
<br/>
<asp:requiredfieldvalidator id="CompanyNameRequiredValidator"
controltovalidate="CompanyNameTextBox"
display="Dynamic"
text="Please enter the company name."
runat="server"/>
</edititemtemplate>
</asp:templatefield>
<asp:templatefield headertext="Address"
itemstyle-verticalalign="Top">
<itemtemplate>
<%#Eval("Address")%>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="AddressTextBox"
text='<%#Bind("Address")%>'
width="90"
runat="server"/>
<br/>
<asp:requiredfieldvalidator id="AddressRequiredValidator"
controltovalidate="AddressTextBox"
display="Dynamic"
text="Please enter the address."
runat="server"/>
</edititemtemplate>
</asp:templatefield>
<asp:templatefield headertext="City"
itemstyle-verticalalign="Top">
<itemtemplate>
<%#Eval("City")%>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="CityTextBox"
text='<%#Bind("City")%>'
width="90"
runat="server"/>
<br/>
<asp:requiredfieldvalidator id="CityRequiredValidator"
controltovalidate="CityTextBox"
display="Dynamic"
text="Please enter the city."
runat="server"/>
</edititemtemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City] From [Customers]"
updatecommand="Update [Customers] Set [CompanyName]=@CompanyName, [Address]=@Address, [City]=@City Where [CustomerID] = @CustomerID"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>CommandField CausesValidation Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>CommandField CausesValidation Example</h3>
<!-- Normally, the validation controls declared in the -->
<!-- EditItemTemplate of each TemplateField field column would -->
<!-- prevent the user from leaving a field value empty; however, -->
<!-- because the CausesValidation property of the CommandField -->
<!-- field column is set to false, validation does not occur when -->
<!-- the user clicks a button in the CommandField field column. -->
<asp:gridview id="CustomerGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="false"
datakeynames="CustomerID"
cellpadding="10"
runat="server">
<columns>
<asp:commandfield showeditbutton="true"
causesvalidation="false"
headertext="Edit"/>
<asp:boundfield datafield="CustomerID"
headertext="Customer ID"
readonly="true"/>
<asp:templatefield headertext="Company Name"
itemstyle-verticalalign="Top">
<itemtemplate>
<%#Eval("CompanyName")%>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="CompanyNameTextBox"
text='<%#Bind("CompanyName")%>'
width="90"
runat="server"/>
<br/>
<asp:requiredfieldvalidator id="CompanyNameRequiredValidator"
controltovalidate="CompanyNameTextBox"
display="Dynamic"
text="Please enter the company name."
runat="server"/>
</edititemtemplate>
</asp:templatefield>
<asp:templatefield headertext="Address"
itemstyle-verticalalign="Top">
<itemtemplate>
<%#Eval("Address")%>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="AddressTextBox"
text='<%#Bind("Address")%>'
width="90"
runat="server"/>
<br/>
<asp:requiredfieldvalidator id="AddressRequiredValidator"
controltovalidate="AddressTextBox"
display="Dynamic"
text="Please enter the address."
runat="server"/>
</edititemtemplate>
</asp:templatefield>
<asp:templatefield headertext="City"
itemstyle-verticalalign="Top">
<itemtemplate>
<%#Eval("City")%>
</itemtemplate>
<edititemtemplate>
<asp:textbox id="CityTextBox"
text='<%#Bind("City")%>'
width="90"
runat="server"/>
<br/>
<asp:requiredfieldvalidator id="CityRequiredValidator"
controltovalidate="CityTextBox"
display="Dynamic"
text="Please enter the city."
runat="server"/>
</edititemtemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:sqldatasource id="CustomersSqlDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City] From [Customers]"
updatecommand="Update [Customers] Set [CompanyName]=@CompanyName, [Address]=@Address, [City]=@City Where [CustomerID] = @CustomerID"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Comentários
Use a CausesValidation propriedade para especificar se a validação é executada quando um botão em um CommandField campo é clicado.Use the CausesValidation property to specify whether validation is performed when a button in a CommandField field is clicked. Quando essa propriedade é definida como true , por padrão, todos os controles de validação na página são validados.When this property is set to true, by default all validation controls on the page are validated. Para limitar a validação a apenas um determinado grupo de controles de validação, crie um grupo de validação e, em seguida, defina a ValidationGroup propriedade como o nome do grupo de validação.To limit validation to only a certain group of validation controls, create a validation group and then set the ValidationGroup property to the validation group's name. Para obter mais informações sobre grupos de validação, consulte BaseValidator.ValidationGroup .For more information on validation groups, see BaseValidator.ValidationGroup.