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


Общие сведения о серверном веб-элементе управления "Кнопка"

Обновлен: Ноябрь 2007

Серверный веб-элемент управления ASP.NET «Кнопка» следует использовать, чтобы пользователи могли передать страницу серверу и запустить событие на сервере.

В этом разделе рассматриваются следующие темы:

  • Базовые сведения

  • Примеры кода

  • Ссылки на классы

Базовые сведения

Серверный веб-элемент управления Button можно использовать, чтобы предоставить пользователям возможность передавать страницу на сервер. Элемент управления инициирует событие в коде сервера, который обрабатывается для ответа на обратную передачу. Например, пользователь может указать на то, что он закончил форму или что он желает выполнить определенную команду.

В ASP.NET есть три вида кнопок, каждый из которых по-разному отображается на веб-страницах, как показано в следующей таблице:

Элемент управления

Описание

Button

Стандартная командная кнопка, отображаемая в виде элемента HTML input.

LinkButton

Отображается в виде гиперссылки на странице. При этом кнопке сопоставляется сценарий на стороне клиента, который вызывает отправку формы на сервер. (Можно создать настоящую гиперссылку с помощью серверного веб-элемента управления HyperLink.)

ImageButton

Отображает графику в виде кнопки. Используется в тех случаях, когда требуется отобразить кнопку, представленную сложной графикой. Элемент управления ImageButton также предоставляет сведения о координатах щелчка в графической области.

Также можно использовать элементы управления HtmlButton и HtmlInputButton для создания кнопок на странице, программируемой в коде сервера. Дополнительные сведения о различиях между HTML и серверными веб-элементами управления см. в разделе Общие сведения о серверных веб-элементах управления ASP.NET.

Элемент управления ImageMap позволяет создавать графику, подчеркивающую то, что пользователи могут нажать кнопку, чтобы выполнить обратную передачу или другое действие.

События кнопок

Когда пользователь щелкает серверный веб-элемент управления «Кнопка», страница отправляется на сервер. При этом в серверном коде инициируется обработка страницы и вызываются все отложенные события. Кнопки могут также вызывать собственные события Click, для которых можно создавать специальные обработчики.

Элементы управления «Кнопка» и их проверка

Если на странице содержатся проверяющие элементы управления ASP.NET, то по умолчанию нажатие кнопки приводит к запуску проверки. Если для проверяющего элемента управления на клиентской стороне разрешена проверка, то страница не передается, если выявлена ошибка.

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

Свойство

Описание

CausesValidation

Указывает, выполняется ли проверка при нажатии кнопки. Присвойте свойству значение false, чтобы отменить проверку.

ValidationGroup

Позволяет указать, какие проверяющие элементы управления на странице вызываются при нажатии кнопки. Если группы проверки не используются, при нажатии кнопки вызываются все проверяющие элементы управления на странице.

Дополнительные сведения см. в разделе Проверка сведений, вводимых пользователем на веб-страницах ASP.NET.

Поведение кнопки при обратной передаче

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

Кнопки можно настроить таким образом, чтобы при их нажатии текущая страница передавалась другой странице. Это может быть полезно для создания многостраничных форм. Дополнительные сведения см. в разделе Межстраничная запись данных на веб-страницах ASP.NET.

По умолчанию элемент управления Button передает страницу, используя операцию HTML POST. Элементы управления LinkButton и ImageButton не могут непосредственно поддерживать операцию HTML POST. Поэтому при использовании этих кнопок на странице, позволяющей передавать страницу программными средствами, добавляется клиентский сценарий. (Поэтому для элементов управления LinkButton и ImageButton требуется, чтобы в обозревателе был включен клиентский сценарий.)

В некоторых случаях желательно, чтобы элемент управления Button также использовал клиентский сценарий для обратной передачи. Это полезно, если требуется управлять обратной передачей программными средствами, например, при прикреплении к другим элементам на странице. Можно присвоить свойству UseSubmitBehavior элемента управления Button значение true, чтобы элемент управления Button использовал клиентский сценарий для обратной передачи.

Использование кнопок с элементами управления UpdatePanel

Частичная отрисовка страницы позволяет обновлять части страницы без обратной передачи. Используя элементы управления UpdatePanel, можно отмечать части страницы, участвующие в частичном обновлении. По умолчанию поведение элементов внутри элемента управления UpdatePanel, включая элементы Button, заключается в выполнении асинхронной обратной передачи вместо обычной обратной передачи. При этом обновляется только содержимое элемента управления UpdatePanel, который вызвал обратную передачу.

Помимо случая, когда элемент управления Button расположен внутри элемента UpdatePanel, также можно использовать элементы управления Button c элементами UpdatePanel в следующих случаях.

  • Определение элемента управления Button, расположенного вне элемента UpdatePanel в качестве элемента управления AsyncPostBackTrigger для этой панели. При нажатии кнопки выполняется асинхронная обратная передача и содержимое панели обновляется.

  • Определение элемента управления Button, расположенного внутри элемента UpdatePanel в качестве PostBackTrigger для этой панели. При нажатии кнопки выполняется обратная передача, несмотря на то, что кнопка расположена внутри элемента управления UpdatePanel.

Дополнительные сведения о частичной отрисовке страницы и использовании элементов управления UpdatePanel см. в разделах Общие сведения об элементе управления UpdatePanel и Общие сведения о частичной отрисовке страниц.

Обработка событий элементов управления «Кнопка» на клиентской стороне

Кнопка может вызывать события как сервера, так и клиента. Серверные события возникают после обратных передач и обрабатываются в коде страницы на стороне сервера. Клиентские события обрабатываются в клиентском сценарии, обычно ECMAScript (JavaScript), и вызываются перед отправкой страницы. С помощью событий кнопок ASP.NET, выполняющихся на стороне клиента, можно, например, отображать диалоговые окна с просьбой подтверждения перед отправкой страниц или потенциально отменять отправку страниц. Дополнительные сведения см. в разделах Клиентский сценарий на веб-страницах ASP.NET и Практическое руководство. Отклик на события серверного веб-элемента управления "Кнопка" в клиентском сценарии.

Кнопки в элементах управления данными

Серверные веб-элементы управления «Кнопка» часто используются в элементах управления данными, таких как элементы управления «Список» DataList, GridView и Repeater. В этих случаях обычно не выполняется непосредственный ответ на событие нажатия кнопки. Вместо этого кнопка в элементе управления данными инициирует событие, связанное с этим элементом управления. Например, в элементе управления DataList кнопка может инициировать событие ItemCommand элемента управления DataList, а не событие Click элемента управления Button.

Поскольку элементы управления «Список» с привязкой к данным могут содержать множество кнопок, можно задать свойство кнопки CommandArgument, чтобы указать значение, передаваемое как часть события. Проверив этот аргумент, можно будет определить, какая кнопка была нажата.

Привязка данных к элементам управления

Серверный веб-элемент управления «Кнопка» можно привязать к источнику данных, что позволяет динамически управлять параметрами свойств кнопки. Например, можно задать свойство кнопки Text, используя привязку данных.

Примеры кода

Практическое руководство. Добавление серверного веб-элемента управления типа кнопки на страницу веб-форм

Практическое руководство. Добавление серверного веб-элемента управления ImageButton на страницу веб-форм

Практическое руководство. Координаты в серверном веб-элементе управления ImageButton

Практическое руководство. Ответ на события серверного веб-элемента управления "Кнопка"

Практическое руководство. Отклик на события серверного веб-элемента управления "Кнопка" в клиентском сценарии

К началу

Ссылка на классы

В следующей таблице перечислены основные классы, которые связаны с элементами управления «Кнопка».

Член

Описание

Button, LinkButton, ImageButton

Главные классы элементов управления «Кнопка».

К началу

См. также

Задачи

Практическое руководство. Добавление событий клиентского сценария в серверные веб-элементы управления ASP.NET

Основные понятия

Клиентский сценарий на веб-страницах ASP.NET

Межстраничная запись данных на веб-страницах ASP.NET