CommandField.CausesValidation Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kullanıcı alandaki bir düğmeye tıkladığında doğrulamanın gerçekleştirilip gerçekleştirilmeyeceğini belirten bir CommandField değer alır veya ayarlar.
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
Özellik Değeri
true
kullanıcı alandaki CommandField bir düğmeye tıkladığında doğrulama gerçekleştirmek için; aksi takdirde , false
. Varsayılan değer: true
.
Örnekler
Aşağıdaki kod örneği, alandaki bir düğmeye CommandField tıklandığında doğrulamanın gerçekleşmesini önlemek için özelliğinin nasıl kullanılacağını CausesValidation gösterir.
Önemli
Bu örnekte, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu vardır. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz . Betik Açıklarına Genel Bakış.
<%@ 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>
Açıklamalar
CausesValidation Alandaki bir düğmeye CommandField tıklandığında doğrulama gerçekleştirilip gerçekleştirilmeyeceğini belirtmek için özelliğini kullanın. Bu özellik olarak true
ayarlandığında, sayfadaki tüm doğrulama denetimleri varsayılan olarak doğrulanır. Doğrulamayı yalnızca belirli bir doğrulama denetimleri grubuyla sınırlandırmak için bir doğrulama grubu oluşturun ve ardından özelliği doğrulama grubunun adına ayarlayın ValidationGroup . Doğrulama grupları hakkında daha fazla bilgi için bkz BaseValidator.ValidationGroup. .