ButtonField 类

定义

表示数据绑定控件中以按钮形式显示的字段。

public ref class ButtonField : System::Web::UI::WebControls::ButtonFieldBase
public class ButtonField : System.Web.UI.WebControls.ButtonFieldBase
type ButtonField = class
    inherit ButtonFieldBase
Public Class ButtonField
Inherits ButtonFieldBase
继承

示例

下面的代码示例演示如何使用 ButtonField 对象在控件中 GridView 显示命令按钮的列。


<%@ 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 CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
  
    // If multiple ButtonField column fields are used, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Select")
    {
    
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);    
    
      // Get the last name of the selected author from the appropriate
      // cell in the GridView control.
      GridViewRow selectedRow = CustomersGridView.Rows[index];
      TableCell contactName = selectedRow.Cells[1];
      string contact = contactName.Text;  
    
      // Display the selected author.
      Message.Text = "You selected " + contact + ".";
      
    }
    
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ButtonField Example</h3>
      
      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>
                    
      <!-- Populate the Columns collection declaratively. -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">
                
        <columns>
                
          <asp:buttonfield buttontype="Button" 
            commandname="Select"
            headertext="Select Customer" 
            text="Select"/>
          <asp:boundfield datafield="CompanyName" 
            headertext="Company Name"/>
          <asp:boundfield datafield="ContactName" 
            headertext="Contact Name"/>
                
        </columns>
                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          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">
<script runat="server">

    Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
  
        ' If multiple ButtonField column fields are used, use the
        ' CommandName property to determine which button was clicked.
        If e.CommandName = "Select" Then
    
            ' Convert the row index stored in the CommandArgument
            ' property to an Integer.
            Dim index As Integer = Convert.ToInt32(e.CommandArgument)
    
            ' Get the last name of the selected author from the appropriate
            ' cell in the GridView control.
            Dim selectedRow As GridViewRow = CustomersGridView.Rows(index)
            Dim contactCell As TableCell = selectedRow.Cells(1)
            Dim contact As String = contactCell.Text
    
            ' Display the selected author.
            Message.Text = "You selected " & contact & "."
      
        End If
    
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>ButtonField Example</h3>
      
      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>
                    
      <!-- Populate the Columns collection declaratively. -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">
                
        <columns>
                
          <asp:buttonfield buttontype="Button" 
            commandname="Select"
            headertext="Select Customer" 
            text="Select"/>
          <asp:boundfield datafield="CompanyName" 
            headertext="Company Name"/>
          <asp:boundfield datafield="ContactName" 
            headertext="Contact Name"/>
                
        </columns>
                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </asp:sqldatasource>
            
    </form>
  </body>
</html>

注解

ButtonField类由数据绑定控件 ((如 GridViewDetailsView) )用于显示每个记录的按钮。 对象的 ButtonField 显示方式不同,具体取决于使用该对象的数据绑定控件。 例如,控件将 GridView 对象显示为 ButtonField 列,而 DetailsView 控件将其显示为行。

单击按钮字段中的按钮会引发父数据绑定控件的命令事件。 可以通过为命令事件提供事件处理程序来提供在单击命令按钮时执行的自定义例程。

注意

控件 GridView 引发 RowCommand 事件,而 DetailsView 控件引发 ItemCommand 事件。

若要确定引发命令事件的记录的索引,请使用 CommandArgument 传递给数据绑定控件的命令事件的事件参数的 属性。 类 ButtonField 会自动使用适当的索引值填充 CommandArgument 属性。

若要指定要显示的按钮的类型,请使用 ButtonType 属性。 显示链接或命令按钮时,请使用 Text 属性指定要在按钮中显示的描述文字。

注意

如果设置 Text 属性,则 中的所有ButtonField按钮共享相同的描述文字。

或者,可以将 对象绑定到 ButtonField 数据源中的字段。 这样,就可以为 对象中的 ButtonField 按钮显示不同的标题。 指定字段中的值用于按钮的文本标题。 DataTextField设置 属性以将ButtonField对象绑定到数据源中的字段。

显示图像按钮时,使用 ImageUrl 属性指定要为 对象中的 ButtonField 按钮显示的图像。

注意

对象中的所有按钮共享同一 ButtonField 个图像。

通过将 属性设置为 Visiblefalse,可以在数据绑定控件中隐藏ButtonField对象。

对象 ButtonField 允许自定义其页眉和页脚部分。 若要在页眉或页脚部分显示描述文字,请分别设置 HeaderTextFooterText 属性。 可以通过设置 HeaderImageUrl 属性来显示图像,而不是在标题节中显示文本。 若要隐藏 对象中的 ButtonField 标头部分,请将 ShowHeader 属性设置为 false

注意

某些数据绑定控件 ((例如 GridView 控件) )只能显示或隐藏控件的整个标头部分。 这些数据绑定控件不支持 ShowHeader 单个按钮字段的 属性。 若要显示或隐藏 (数据绑定控件的整个标头部分(如果) 可用),请使用 ShowHeader 控件的 属性。

还可以通过为字段的不同 ButtonField 部分设置样式属性,自定义对象的外观 (字体颜色、背景色等) 。 下表列出了不同的样式属性。

Style 属性 的样式设置
ControlStyle 的子 Web 服务器控件 ButtonField
FooterStyle 的页脚部分 ButtonField
HeaderStyle 的 标头部分 ButtonField
ItemStyle 中的数据 ButtonField项。

构造函数

ButtonField()

初始化 ButtonField 类的新实例。

属性

AccessibleHeaderText

获取或设置某些控件中呈现为 AbbreviatedText 属性值的文本。

(继承自 DataControlField)
ButtonType

获取或设置要在按钮字段中显示的按钮类型。

(继承自 ButtonFieldBase)
CausesValidation

获取或设置一个值,该值指示在单击 ButtonFieldBase 对象中的按钮时是否执行验证。

(继承自 ButtonFieldBase)
CommandName

获取或设置一个字符串,该字符串表示当单击 ButtonField 对象中的按钮时要执行的操作。

Control

获取对数据控件的引用,该控件与 DataControlField 对象关联。

(继承自 DataControlField)
ControlStyle

获取 DataControlField 对象所包含的任何 Web 服务器控件的样式。

(继承自 DataControlField)
DataTextField

获取或设置数据字段的名称,该数据字段的值绑定到 Text 控件的 Button 属性,此控件由 ButtonField 对象呈现。

DataTextFormatString

获取或设置字符串,该字符串指定字段值的显示格式。

DesignMode

获取一个值,该值指示数据控件字段当前是否在设计时环境中进行查看。

(继承自 DataControlField)
FooterStyle

获取或设置数据控件字段脚注的样式。

(继承自 DataControlField)
FooterText

获取或设置数据控件字段的脚注项中显示的文本。

(继承自 DataControlField)
HeaderImageUrl

获取或设置数据控件字段的标题项中显示的图像的 URL。

(继承自 DataControlField)
HeaderStyle

获取或设置数据控件字段标头的样式。

(继承自 DataControlField)
HeaderText

获取或设置数据控件字段的标题项中显示的文本。

(继承自 DataControlField)
ImageUrl

获取或设置要为 ButtonField 对象中每个按钮显示的图像。

InsertVisible

获取一个值,该值指示 DataControlField 对象在其父级数据绑定控件处于插入模式时是否可见。

(继承自 DataControlField)
IsTrackingViewState

获取一个值,该值指示 DataControlField 对象是否保存对其视图状态的更改。

(继承自 DataControlField)
ItemStyle

获取由数据控件字段显示的任何基于文本的内容的样式。

(继承自 DataControlField)
ShowHeader

获取或设置一个值,该值指示是否显示 ButtonFieldBase 对象的标头部分。

(继承自 ButtonFieldBase)
SortExpression

获取或设置数据源控件用来对数据进行排序的排序表达式。

(继承自 DataControlField)
Text

获取或设置为 ButtonField 对象中每个按钮显示的静态标题。

ValidateRequestMode

获取或设置一个值,该值指定该控件是否验证客户端输入。

(继承自 DataControlField)
ValidationGroup

获取或设置在单击 ButtonFieldBase 对象中的按钮时要验证的验证控件组的名称。

(继承自 ButtonFieldBase)
ViewState

获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原 DataControlField 对象的视图状态。

(继承自 DataControlField)
Visible

获取或设置指示是否呈现数据控件字段的值。

(继承自 DataControlField)

方法

CloneField()

创建当前 DataControlField 派生对象的副本。

(继承自 DataControlField)
CopyProperties(DataControlField)

将当前 ButtonField 对象的属性复制到指定的 DataControlField 对象。

CreateField()

创建并返回 ButtonField 类的新实例。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

从当前表格单元格中提取数据控件字段的值,并将该值添加到指定的 IDictionary 集合中。

(继承自 DataControlField)
FormatDataTextValue(Object)

设定 ButtonField 对象内的单元格中的指定字段值。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Initialize(Boolean, Control)

初始化当前的 ButtonField 对象。

InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

将指定的 DataControlFieldCell 对象初始化为指定的行状态。

LoadViewState(Object)

将数据源视图还原为保存过的前一视图状态。

(继承自 DataControlField)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnFieldChanged()

引发 FieldChanged 事件。

(继承自 DataControlField)
SaveViewState()

保存在页回发到服务器后对 DataControlField 视图状态所做的更改。

(继承自 DataControlField)
ToString()

返回表示此 DataControlField 对象的字符串。

(继承自 DataControlField)
TrackViewState()

使 DataControlField 对象跟踪对其视图状态所做的更改,以便这些更改可以存储在控件的 ViewState 属性中并且能够在同一页的不同请求间得以保持。

(继承自 DataControlField)
ValidateSupportsCallback()

确定包含在 ButtonField 对象中的控件是否支持回调。

显式接口实现

IDataSourceViewSchemaAccessor.DataSourceViewSchema

获取或设置与此 DataControlField 对象关联的架构。

(继承自 DataControlField)
IStateManager.IsTrackingViewState

获取一个值,该值指示 DataControlField 对象是否保存对其视图状态的更改。

(继承自 DataControlField)
IStateManager.LoadViewState(Object)

将数据控件字段还原为保存过的前一视图状态。

(继承自 DataControlField)
IStateManager.SaveViewState()

保存在页回发到服务器后对 DataControlField 视图状态所做的更改。

(继承自 DataControlField)
IStateManager.TrackViewState()

使 DataControlField 对象跟踪对其视图状态所做的更改,以便这些更改可以存储在控件的 ViewState 属性中并且能够在同一页的不同请求间得以保持。

(继承自 DataControlField)

适用于

另请参阅