2011-05-06 76 views
1

我有一个GridViewDataGrid1_SelectedIndexChanged 2选择Button控制这样如何检测哪个按钮列用户点击了两个按钮都是commandname =“Select”后面的代码?

<asp:datagrid style="Z-INDEX: 0" id="DataGrid1" runat="server" Width="936px"  
HorizontalAlign="Justify" CellPadding="5" AutoGenerateColumns="False" 
AllowCustomPaging="True" AllowSorting="True"> 

<asp:ButtonColumn Text="Button 1" CommandName="Select"> 
<HeaderStyle Width="5%"></HeaderStyle> 
</asp:ButtonColumn> 

<asp:ButtonColumn Text="Button 2" CommandName="Select"> 
<HeaderStyle Width="5%"></HeaderStyle> 
</asp:ButtonColumn> 

</asp:datagrid> 

在后面的代码如何检测哪个按钮用户点击

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) 
{ 
    if(//user click button 1) {} 
    else // user clicked button 2 {} 
} 

感谢你的答案

+0

为什么你需要为两个按钮指定相同的CommandName值? – 2011-05-06 08:58:12

+0

,因为它们几乎相同功能按钮1点击查看选定行,按钮2选择要编辑的行 – Son 2011-05-06 09:05:37

回答

0

要对行命令的响应与您的情况相同,您需要处理GridViewRowCommand事件。

GridViewSeletedIndexChanged事件正在使用捕获选择只改变。这意味着,如果您在已经选择的行上按下命令行,SelectedIndexChanged不会被触发。