ButtonField Класс

Определение

Представляет поле, которое отображается как кнопка в элементе управления с привязкой к данным.Represents a field that is displayed as a button in a data-bound control.

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 элементе управления.The following code example demonstrates how to use a ButtonField object to display a column of command buttons in a GridView control.


<%@ 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Класс используется элементами управления с привязкой к данным (например GridView , и DetailsView ) для отображения кнопки для каждой отображаемой записи.The ButtonField class is used by data-bound controls (such as GridView and DetailsView) to display a button for each record that is displayed. ButtonFieldОбъект отображается по-разному в зависимости от привязанного к данным элемента управления, в котором он используется.The ButtonField object is displayed differently depending on the data-bound control in which it is used. Например, GridView элемент управления отображает ButtonField объект как столбец, а DetailsView элемент управления отображает его как строку.For example, the GridView control displays a ButtonField object as a column, while the DetailsView control displays it as a row.

Нажатие кнопки в поле кнопки вызывает событие Command родительского элемента управления с привязкой к данным.Clicking a button in a button field raises the command event of the parent data-bound control. Можно предоставить пользовательскую подпрограммы, выполняемую при нажатии кнопки Command, предоставив обработчик событий для командного события.You can provide a custom routine to perform when a command button is clicked by providing an event handler for the command event.

Примечание

GridViewЭлемент управления вызывает RowCommand событие, а DetailsView элемент управления вызывает ItemCommand событие.The GridView control raises the RowCommand event, while the DetailsView control raises the ItemCommand event.

Чтобы определить индекс записи, вызывающей командное событие, используйте CommandArgument свойство аргумента события, передаваемое в командное событие для элемента управления с привязкой к данным.To determine the index of the record that raises the command event, use the CommandArgument property of the event argument that is passed to the command event for the data-bound control. ButtonFieldКласс автоматически заполняет CommandArgument свойство соответствующим значением индекса.The ButtonField class automatically populates the CommandArgument property with the appropriate index value.

Чтобы указать тип отображаемой кнопки, используйте ButtonType свойство.To specify the type of button to display, use the ButtonType property. При отображении ссылки или кнопки команды используйте свойство, Text чтобы указать заголовок, отображаемый на кнопках.When displaying a link or command button, use the Text property to specify the caption to display in the buttons.

Примечание

Если задать Text свойство, то все кнопки в ButtonField совместно используют один и тот же заголовок.If you set the Text property, all buttons in a ButtonField share the same caption.

Кроме того, можно привязать ButtonField объект к полю в источнике данных.Alternatively, you can bind the ButtonField object to a field in a data source. Это позволяет отображать разные заголовки для кнопок в ButtonField объекте.This allows you to display different captions for the buttons in the ButtonField object. Значения, которые находятся в указанном поле, используются для текстовых заголовков кнопок.The values that are in the specified field are used for the text captions of the buttons. Задайте DataTextField свойство, чтобы привязать ButtonField объект к полю в источнике данных.Set the DataTextField property to bind a ButtonField object to a field in a data source.

При отображении кнопки изображения используйте свойство, ImageUrl чтобы указать изображение, отображаемое для кнопок в ButtonField объекте.When displaying an image button, use the ImageUrl property to specify the image to display for the buttons in the ButtonField object.

Примечание

Все кнопки в ButtonField объекте используют одно и то же изображение.All buttons in a ButtonField object share the same image.

Можно скрыть ButtonField объект в элементе управления с привязкой к данным, задав Visible свойству значение false .You can hide a ButtonField object in a data-bound control by setting the Visible property to false.

ButtonFieldОбъект позволяет настраивать разделы верхнего и нижнего колонтитулов.The ButtonField object allows you to customize its header and footer sections. Чтобы отобразить заголовок в разделе верхний или нижний колонтитул, задайте HeaderText FooterText свойства или соответственно.To display a caption in the header or footer section, set the HeaderText or FooterText properties, respectively. Вместо отображения текста в разделе заголовка можно отобразить изображение, задав HeaderImageUrl свойство.Instead of displaying text in the header section, you can display an image by setting the HeaderImageUrl property. Чтобы скрыть раздел заголовка ButtonField объекта, задайте ShowHeader для свойства значение false .To hide the header section in a ButtonField object, set the ShowHeader property to false.

Примечание

Некоторые элементы управления с привязкой к данным (например, GridView элемент управления) могут отображать или скрывать только весь раздел заголовка элемента управления.Some data-bound controls (such as the GridView control) can show or hide only the entire header section of the control. Эти элементы управления с привязкой к данным не поддерживают ShowHeader свойство для отдельного поля кнопки.These data-bound controls do not support the ShowHeader property for an individual button field. Чтобы показать или скрыть весь раздел заголовка элемента управления с привязкой к данным (если он доступен), используйте ShowHeader свойство для элемента управления.To show or hide the entire header section of a data-bound control (if available), use the ShowHeader property for the control.

Можно также настроить внешний вид ButtonField объекта (цвет шрифта, цвет фона и т. д.), задав свойства стиля для различных частей поля.You also can customize the appearance of the ButtonField object (font color, background color, and so on) by setting the style properties for the different parts of the field. В следующей таблице перечислены различные свойства стиля.The following table lists the different style properties.

Свойство StyleStyle property Параметры стиля дляThe style settings for
ControlStyle Дочерние веб-серверные элементы управления ButtonField .The child Web server controls of the ButtonField.
FooterStyle Раздел нижнего колонтитула ButtonField .The footer section of the ButtonField.
HeaderStyle Раздел заголовка ButtonField .The header section of the ButtonField.
ItemStyle Элементы данных в ButtonField .The data items in the ButtonField.

Конструкторы

ButtonField()

Инициализирует новый экземпляр класса ButtonField.Initializes a new instance of the ButtonField class.

Свойства

AccessibleHeaderText

Возвращает или задает текст, отображающийся как значение свойство AbbreviatedText некоторых элементов управления.Gets or sets text that is rendered as the AbbreviatedText property value in some controls.

(Унаследовано от DataControlField)
ButtonType

Получает или задает тип кнопки, отображаемой в кнопочном поле.Gets or sets the button type to display in the button field.

(Унаследовано от ButtonFieldBase)
CausesValidation

Получает или задает значение, показывающее, выполняется ли проверка при нажатии кнопки в объекте ButtonFieldBase.Gets or sets a value indicating whether validation is performed when a button in a ButtonFieldBase object is clicked.

(Унаследовано от ButtonFieldBase)
CommandName

Получает или задает строку, представляющую действие, выполняемое при нажатии кнопки в объекте ButtonField.Gets or sets a string that represents the action to perform when a button in a ButtonField object is clicked.

Control

Возвращает ссылку на элемент управления данными, с которым связан объект DataControlField.Gets a reference to the data control that the DataControlField object is associated with.

(Унаследовано от DataControlField)
ControlStyle

Получает стиль любых серверных веб-элементов управления, содержащихся в объекте DataControlField.Gets the style of any Web server controls contained by the DataControlField object.

(Унаследовано от DataControlField)
DataTextField

Получает или задает имя поля данных, значение которого привязывается к свойству Text элемента управления Button, генерируемого объектом ButtonField.Gets or sets the name of the data field for which the value is bound to the Text property of the Button control that is rendered by the ButtonField object.

DataTextFormatString

Получает или задает строку, определяющую формат отображения значения поля.Gets or sets the string that specifies the display format for the value of the field.

DesignMode

Возвращает значение, указывающее, просматривается ли в данный момент поле элемента управления данными в среде режима разработки.Gets a value indicating whether a data control field is currently viewed in a design-time environment.

(Унаследовано от DataControlField)
FooterStyle

Возвращает или задает стиль нижнего колонтитула поля элемента управления данными.Gets or sets the style of the footer of the data control field.

(Унаследовано от DataControlField)
FooterText

Возвращает или задает текст для отображения в нижнем колонтитуле поля элемента управления данными.Gets or sets the text that is displayed in the footer item of a data control field.

(Унаследовано от DataControlField)
HeaderImageUrl

Возвращает или задает URL -адрес изображения для отображения в верхнем колонтитуле поля элемента управления данными.Gets or sets the URL of an image that is displayed in the header item of a data control field.

(Унаследовано от DataControlField)
HeaderStyle

Возвращает или задает стиль верхнего колонтитула поля элемента управления данными.Gets or sets the style of the header of the data control field.

(Унаследовано от DataControlField)
HeaderText

Возвращает или задает текст для отображения в верхнем колонтитуле поля элемента управления данными.Gets or sets the text that is displayed in the header item of a data control field.

(Унаследовано от DataControlField)
ImageUrl

Получает или задает изображение для всех кнопок в объекте ButtonField.Gets or sets the image to display for each button in the ButtonField object.

InsertVisible

Возвращает значение, указывающее состояние отображения объекта DataControlField во время пребывания его родительского элемента управления, привязанного к данным, в режиме вставки.Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode.

(Унаследовано от DataControlField)
IsTrackingViewState

Получает значение, указывающее сохраняет ли объект DataControlField изменения в данных о состоянии представления.Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Унаследовано от DataControlField)
ItemStyle

Возвращает стиль любого текстового содержимого, отображаемого полем элемента управления содержанием.Gets the style of any text-based content displayed by a data control field.

(Унаследовано от DataControlField)
ShowHeader

Получает или задает значение, позволяющее определить, отображается ли верхний колонтитул в элементе управления ButtonFieldBase.Gets or sets a value indicating whether the header section is displayed in a ButtonFieldBase object.

(Унаследовано от ButtonFieldBase)
SortExpression

Возвращает или задает выражение сортировки, используемое элементом управления источником данных для сортировки данных.Gets or sets a sort expression that is used by a data source control to sort data.

(Унаследовано от DataControlField)
Text

Получает или задает статическую подпись, отображаемую для всех кнопок объекта ButtonField.Gets or sets the static caption that is displayed for each button in the ButtonField object.

ValidateRequestMode

Получает или задает значение, указывающее, проверяет ли элемент управления клиентский ввод.Gets or sets a value that specifies whether the control validates client input.

(Унаследовано от DataControlField)
ValidationGroup

Получает или задает имя группы проверочных элементов управления для проверки при нажатии кнопки в объекте ButtonFieldBase.Gets or sets the name of the group of validation controls to validate when a button in a ButtonFieldBase object is clicked.

(Унаследовано от ButtonFieldBase)
ViewState

Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления объекта DataControlField при нескольких запросах одной и той же страницы.Gets a dictionary of state information that allows you to save and restore the view state of a DataControlField object across multiple requests for the same page.

(Унаследовано от DataControlField)
Visible

Возвращает или задает значение, определяющее, отображается ли поле элемента управления данными.Gets or sets a value indicating whether a data control field is rendered.

(Унаследовано от DataControlField)

Методы

CloneField()

Создает точную копию текущего объекта, производного от DataControlField.Creates a duplicate copy of the current DataControlField-derived object.

(Унаследовано от DataControlField)
CopyProperties(DataControlField)

Копирует свойства текущего объекта ButtonField в указанный объект DataControlField.Copies the properties of the current ButtonField object to the specified DataControlField object.

CreateField()

Создает и возвращает новый экземпляр класса ButtonField.Creates and returns a new instance of the ButtonField class.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Добывает значение поля элемента управления данными из текущей ячейки таблицы и добавляет значение в указанную коллекцию IDictionary.Extracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection.

(Унаследовано от DataControlField)
FormatDataTextValue(Object)

Форматирует указанное значение поля для ячейки в объекте ButtonField.Formats the specified field value for a cell in the ButtonField object.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
Initialize(Boolean, Control)

Инициализирует текущий объект ButtonField.Initializes the current ButtonField object.

InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Инициализирует указанный объект DataControlFieldCell заданным состоянием строки.Initializes the specified DataControlFieldCell object to the specified row state.

LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления источника данных.Restores the data source view's previously saved view state.

(Унаследовано от DataControlField)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OnFieldChanged()

Вызывает событие FieldChanged.Raises the FieldChanged event.

(Унаследовано от DataControlField)
SaveViewState()

Сохраняет изменения в состояние объекта DataControlField после того, как страница отправлена на сервер.Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Унаследовано от DataControlField)
ToString()

Возврат строки, представляющей объект DataControlField.Returns a string that represents this DataControlField object.

(Унаследовано от DataControlField)
TrackViewState()

Инициирует отслеживание объектом DataControlField изменений в состоянии его представления, благодаря чему эти изменения можно сохранить в свойстве элемента ViewState элемента управления и хранить их для всех запросов одной и той же страницы.Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page.

(Унаследовано от DataControlField)
ValidateSupportsCallback()

Определяет, поддерживают ли элементы управления, содержащиеся в объекте ButtonField обратные вызовы.Determines whether the controls that are contained in a ButtonField object support callbacks.

Явные реализации интерфейса

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Возвращает или задает схему, связанную с этим объектом DataControlField.Gets or sets the schema associated with this DataControlField object.

(Унаследовано от DataControlField)
IStateManager.IsTrackingViewState

Получает значение, указывающее сохраняет ли объект DataControlField изменения в данных о состоянии представления.Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Унаследовано от DataControlField)
IStateManager.LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления поля источника данных.Restores the data control field's previously saved view state.

(Унаследовано от DataControlField)
IStateManager.SaveViewState()

Сохраняет изменения в состояние объекта DataControlField после того, как страница отправлена на сервер.Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Унаследовано от DataControlField)
IStateManager.TrackViewState()

Инициирует отслеживание объектом DataControlField изменений в состоянии его представления, благодаря чему эти изменения можно сохранить в свойстве элемента ViewState элемента управления и хранить их для всех запросов одной и той же страницы.Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page.

(Унаследовано от DataControlField)

Применяется к

См. также раздел