Определение строки, из которой выбрана кнопка в виде сетки asp.net/c# - PullRequest
0 голосов
/ 15 марта 2011

У меня есть несколько кнопок в gridview.Как я могу определить, какая конкретная кнопка в строке была выбрана?Как я могу захватить индекс строки ??

Я использовал

 protected void crtButton_Click(Object sender, EventArgs e)
    {        
            string componentText;
            GridViewRow row = GridView1.SelectedRow;
            String componentName = row.Cells[1].text;              
     } 

Я пытался сгенерировать кнопки в файле gridview .aspx с помощью следующего кода

         <asp:TemplateField HeaderText="Add to Cart">
                <ItemTemplate>  <asp:Button ID="crtButton" runat="server" Text="Add to Cart" OnClick="crtButton_Click"/>
                </ItemTemplate>                
         </asp:TemplateField>

но кажется, что это не дает результата.Может ли кто-нибудь, пожалуйста, помогите мне.

Спасибо в ожидании

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Вот как вы можете получить индекс строки нажатой кнопки:

protected void crtButton_Click(Object sender, EventArgs e)
{
    Button clickedButton = (Button)sender;
    GridViewRow row = (GridViewRow)clickedButton.Parent.Parent;
    int rowIndex = row.RowIndex;
}

Однако это не самый лучший подход, так как вы должны знать уровень кнопки. Наилучшим подходом было бы использование OnCommand в сочетании с CommandArgument.

<ItemTemplate>
    <asp:Button ID="crtButton" runat="server" Text="Add to Cart" OnCommand="crtButton_Command" CommandArgument=<%# Eval("ItemID") %> />
</ItemTemplate>

protected void crtButton_Command(Object sender, CommandEventArgs e)
{
    int itemID = Convert.ToInt32(e.CommandArgument);
}
0 голосов
/ 15 марта 2011

Вы можете привести отправителя к кнопке, а затем посмотреть на атрибуты кнопки:

protected void crtButton_Click(Object sender, EventArgs e)
{
    Button Clicked = sender as Button;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...