CommandField.CausesValidation プロパティ

定義

ユーザーが 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

プロパティ値

Boolean

ユーザーが CommandField フィールドのボタンをクリックしたときに検証を実行する場合は true。それ以外の場合は falsetrue to perform validation when the user clicks a button in a CommandField field; otherwise, false. 既定値は、true です。The default is true.

次のコード例では、プロパティを使用して、 CausesValidation フィールドのボタンがクリックされたときに検証が行われないようにする方法を示し CommandField ます。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.

重要

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。This example has a text box that accepts user input, which is a potential security threat. 既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。By default, ASP.NET Web pages validate that user input does not include script or HTML elements. 詳細については、「スクリプトによる攻略の概要」を参照してください。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>

注釈

プロパティを使用して、 CausesValidation フィールドのボタンをクリックしたときに検証を実行するかどうかを指定し CommandField ます。Use the CausesValidation property to specify whether validation is performed when a button in a CommandField field is clicked. このプロパティがに設定されている場合 true 、既定では、ページ上のすべての検証コントロールが検証されます。When this property is set to true, by default all validation controls on the page are validated. 検証コントロールの特定のグループのみに検証を制限するには、検証グループを作成し、 ValidationGroup プロパティを検証グループの名前に設定します。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. 検証グループの詳細については、「」を参照してください BaseValidator.ValidationGroupFor more information on validation groups, see BaseValidator.ValidationGroup.

適用対象

こちらもご覧ください