обрабатывать событие нажатия кнопки внутри gridview

Я пишу проект asp.net на С#.

Страница состоит из gridview, она изначально заполняется из базы данных. Кнопки, текстовые поля и выпадающие списки находятся внутри сетки, как на картинке.

gridview

Я хочу обработать событие нажатия кнопки (сообщить), чтобы я знал, какая строка gridview щелкнута, чтобы получить выбранное значение dropdowlnist и значение текстового поля из этой строки для обновления базы данных.

Кто-нибудь знает, как это сделать? Спасибо!


person Nurlan    schedule 12.07.2012    source источник
comment
Ха-ха, плюс за алматинские наименования   -  person imslavko    schedule 20.11.2012


Ответы (3)


Моя первая мысль заключается в том, что если вы используете теги <asp:TemplateField> на своей странице gridview, то вы должны иметь возможность зарегистрировать событие в коде своей кнопки как таковое: <asp:Button runat="server" OnClick="MyOnClickEvent" />. Если вы добавляете их программно, вы должны иметь возможность использовать свойство кнопки onClientClick.

Попробуйте прочитать http://www.codeproject.com/Articles/50540/GridView-Event-Handling. Это может указать вам правильное направление.

person Emily    schedule 12.07.2012

можно попробовать e.RowIndex по событию btnсообщить_Click

person Mwelase Zues Tshona    schedule 28.10.2013
comment
Вы должны объяснить это дальше - person SheetJS; 28.10.2013

Вы можете обрабатывать событие щелчка любого элемента управления типа кнопки внутри gridview двумя способами. Первый — через всплытие событий, а второй — напрямую (в этом типе обработки событий нам нужен доступ к текущему контейнеру girdviewrow).

Я думаю, что вы должны взглянуть на эту статью для получения дополнительных знаний.

Как обрабатывать событие нажатия кнопки ссылки внутри сетки

person Vivek    schedule 13.05.2013
comment
Вы не должны копировать и вставлять объяснение, особенно если оно имеет плохую грамматику. В следующий раз, если вы понимаете, как это работает, вы можете просто объяснить это своими словами. - person ragingasiancoder; 30.06.2016