DetailsView.AutoGenerateEditButton 属性

定义

获取或设置一个值,该值指示用来编辑当前记录的内置控件是否在 DetailsView 控件中显示。

public:
 virtual property bool AutoGenerateEditButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateEditButton { get; set; }
member this.AutoGenerateEditButton : bool with get, set
Public Overridable Property AutoGenerateEditButton As Boolean

属性值

Boolean

true 表示显示用来编辑当前记录的内置控件;否则为 false。 默认值为 false

示例

下面的代码示例演示如何使用 AutoGenerateEditButton 属性显示内置控件来编辑当前记录。


<%@ 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>DetailsView AutoGenerateEditButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateEditButton Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateeditbutton="true"  
          autogeneraterows="true"
          allowpaging="true"  
          runat="server">
               
          <headerstyle backcolor="Navy"
            forecolor="White"/>
                    
        </asp:detailsview>
        
        <!-- 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="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID], 
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"
          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] 
            From [Customers]">
        </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>DetailsView AutoGenerateEditButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateEditButton Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateeditbutton="true"  
          autogeneraterows="true"
          allowpaging="true"  
          runat="server">
               
          <headerstyle backcolor="Navy"
            forecolor="White"/>
                    
        </asp:detailsview>
        
        <!-- 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="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID], 
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"
          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] 
            From [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>

注解

当支持更新的数据源控件绑定到控件 DetailsView 时,该 DetailsView 控件可以利用数据源控件的功能并提供自动更新功能。

备注

若要使数据源控件更新数据,必须使用更新查询语句设置其 SqlDataSource.UpdateCommand 属性。

当属性 AutoGenerateEditButton 设置为 true时, CommandField 控件中会自动显示带有“编辑”按钮的 DetailsView 行字段。 单击“编辑”按钮会将该 DetailsView 控件置于编辑模式。 在编辑模式下时,控件中不只读的每个绑定字段都会显示字段数据类型的相应输入控件,例如 TextBox 控件。 这允许用户修改字段的值。

单击后,“编辑”按钮也会替换为“更新”按钮和“取消”按钮。 单击“更新”按钮将数据源中的记录更新为任何值更改,并将控件返回到属性指定的 DefaultMode 模式。 单击“取消”按钮会放弃任何值更改,并将控件返回到默认模式。

备注

若要以编程方式将控件置于 DetailsView 编辑模式,请使用 ChangeMode 该方法。

AutoGenerateRows当属性也设置为true时,控件DetailsView会自动确保属性中指定的字段或字段是只读的DataKeyNames

备注

除非实现自己的更新功能,否则必须设置 DataKeyNames 自动更新功能的属性才能正常工作。

当控件处于编辑模式EditRowStyleDetailsView,可以使用属性来控制数据行的外观。 常见设置通常包括自定义背景色、前景色和字体属性。

DetailsView 控件提供了多个事件,可用于在更新记录时执行自定义操作。 下表列出了可用的事件。

事件 说明
ItemUpdated 单击“更新”按钮时发生,但在控件更新记录之后 DetailsView 发生。 此事件通常用于检查更新操作的结果。
ItemUpdating 单击“更新”按钮,但在控件更新记录之前 DetailsView 发生。 此事件通常用于取消更新操作。
ModeChanged DetailsView 控件更改模式后发生。
ModeChanging 在控件更改模式之前 DetailsView 发生。 此事件通常用于取消模式更改。

该值 AutoGenerateEditButton 以视图状态存储。

适用于

另请参阅