Поделиться через


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 используется элементами управления с привязкой к данным (например GridView , и DetailsView) для отображения кнопки для каждой отображаемой записи. Объект ButtonField отображается по-разному в зависимости от элемента управления, привязанного к данным, в котором он используется. Например, GridView элемент управления отображает ButtonField объект в виде столбца, а DetailsView элемент управления отображает его в виде строки.

Нажатие кнопки в поле кнопки вызывает событие команды родительского элемента управления с привязкой к данным. Вы можете предоставить пользовательскую подпрограмму для выполнения при нажатии кнопки команды, предоставив обработчик событий для события команды.

Замечание

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

Чтобы определить индекс записи, которая вызывает событие команды, используйте CommandArgument свойство аргумента события, передаваемого в событие команды для элемента управления с привязкой к данным. Класс ButtonField автоматически заполняет CommandArgument свойство соответствующим значением индекса.

Чтобы указать тип отображаемой кнопки, используйте ButtonType свойство. При отображении ссылки или кнопки команды используйте Text свойство, чтобы указать подпись для отображения на кнопках.

Замечание

Если задать Text свойство, все кнопки в общей папке ButtonField имеют одинаковый заголовок.

Кроме того, объект можно привязать ButtonField к полю в источнике данных. Это позволяет отображать различные подписи для кнопок в объекте ButtonField . Значения, которые находятся в указанном поле, используются для текстовых подписей кнопок. DataTextField Задайте свойство для привязки ButtonField объекта к полю в источнике данных.

При отображении кнопки изображения используйте ImageUrl свойство, чтобы указать изображение для кнопок в объекте ButtonField .

Замечание

Все кнопки в объекте ButtonField используют одно и то же изображение.

Объект можно скрыть ButtonField в элементе управления, привязанном к данным, задав Visible для свойства значение false.

Объект ButtonField позволяет настраивать разделы верхнего и нижнего колонтитулов. Чтобы отобразить заголовок в разделе верхних или нижних колонтитулов, задайте HeaderText значения или FooterText свойства соответственно. Вместо отображения текста в разделе заголовка можно отобразить изображение, задав HeaderImageUrl свойство. Чтобы скрыть раздел заголовка в объекте ButtonField , задайте ShowHeader для свойства значение false.

Замечание

Некоторые элементы управления с привязкой к данным (например GridView , элемент управления) могут отображать или скрывать только весь раздел заголовка элемента управления. Эти элементы управления, привязанные к данным, не поддерживают ShowHeader свойство для отдельного поля кнопки. Чтобы отобразить или скрыть весь раздел заголовка элемента управления с привязкой к данным (если он доступен), используйте ShowHeader свойство для элемента управления.

Вы также можете настроить внешний вид объекта (цвет шрифта ButtonField , цвет фона и т. д.), задав свойства стиля для различных частей поля. В следующей таблице перечислены различные свойства стиля.

Свойство Style Параметры стиля для
ControlStyle Дочерний веб-сервер элементов управления ButtonField.
FooterStyle Нижний колонтитул элемента ButtonField.
HeaderStyle Раздел заголовка ButtonFieldобъекта .
ItemStyle Элементы данных в элементе ButtonField.

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

Имя Описание
ButtonField()

Инициализирует новый экземпляр класса ButtonField.

Свойства

Имя Описание
AccessibleHeaderText

Возвращает или задает текст, отображаемый AbbreviatedText в качестве значения свойства в некоторых элементах управления.

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

Возвращает или задает тип кнопки для отображения в поле кнопки.

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

Возвращает или задает значение, указывающее, выполняется ли проверка при нажатии кнопки в объекте ButtonFieldBase .

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

Возвращает или задает строку, представляющую действие, выполняемое при нажатии кнопки в объекте ButtonField .

Control

Возвращает ссылку на элемент управления данными, DataControlField с которым связан объект.

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

Возвращает стиль всех элементов управления веб-сервера, содержащихся в объекте DataControlField .

(Унаследовано от 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)

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

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