GridView中的Button触发事件,获取该行的数据
时间: 2024-05-15 07:19:41 浏览: 96
在GridView中,可以使用CommandName和CommandArgument属性为Button控件添加命令名称和参数,然后在GridView的RowCommand事件中获取这些值,从而确定是哪一行的Button被点击了,进而获取该行的数据。
例如,假设GridView中有一个Button控件,代码如下:
```
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand">
<Columns>
<asp:ButtonField ButtonType="Button" CommandName="MyButton" CommandArgument="<%# Container.DataItemIndex %>" Text="Click" />
<!-- 其他列 -->
</Columns>
<!-- 数据源等设置 -->
</asp:GridView>
```
这里使用了ButtonField控件作为列,设置了CommandName为"MyButton",CommandArgument为"<%# Container.DataItemIndex %>",表示把当前行的索引传递给了按钮的参数。
接下来在GridView的RowCommand事件中获取这些值:
```
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MyButton")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = GridView1.Rows[index];
// 获取该行的数据,例如:
string name = row.Cells[0].Text; // 假设第一列是名称列
// 其他操作
}
}
```
在RowCommand事件中,首先判断命令名称是否为"MyButton",如果是,则获取CommandArgument的值,转换成整数类型,表示点击了哪一行的Button。然后可以通过GridView的Rows属性获取这一行的GridViewRow对象,进而获取该行的数据。这里假设第一列是名称列,可以通过Cells[0].Text来获取该列的文本值。
阅读全文