GridView的模版列中加入按钮,触发按钮事件后,如何获取该行的某个值?
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</ItemTemplate>
</asp:TemplateField>
=============================================
protected void Button1_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow row = btn.Parent.Parent as GridViewRow;
string a = row.Cells[0].ToString();//获得第一个单元格的值
string b = this.GridView1.DataKeys[row.DataItemIndex].Values[0];//获得DataKeys的值
}
或者
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CommandName="MyCommand" Text="Button" />
</ItemTemplate>
</asp:TemplateField>
===============================================
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "MyCommand")
{
Button btn = e.CommandSource as Button;
GridViewRow row = btn.Parent.Parent as GridViewRow;
string a = row.Cells[0].ToString();//获得第一个单元格的值
string b = this.GridView1.DataKeys[row.DataItemIndex].Values[0];//获得DataKeys的值
}
}