单击模板字段命令按钮时获取gridview单元格值
本文关键字:获取 gridview 单元格 按钮 字段 命令 单击 | 更新日期: 2023-09-27 18:03:23
我在模板字段中有一个命令按钮的gridview。如果不首先选择行,我如何在命令按钮单击事件上获取第一个单元格值?
为了测试,我试图设置一个标签的文本值,但我认为,作为行不是首先选择,它不会工作
Label3.Text = "test " + GridView1.SelectedRow.Cells[1].Text;
您可以将行号作为按钮中的CommandArgument发送。
<asp:Button ID="Button1" CommandArgument='<%# Container.DataItemIndex %>' OnCommand="Button1_Command" runat="server" Text="Button" />
并从后面代码中的行和列中获取正确的值。
protected void Button1_Command(object sender, CommandEventArgs e)
{
Label3.Text = "test " + GridView1.Rows[Convert.ToInt32(e.CommandArgument)].Cells[1].Text;
}
正如后来发现的,你需要将GridView的绑定封装到一个IsPostBack中,否则你会得到一个"Invalid postback or callback argument"的错误。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataSource = myDataSource;
GridView1.DataBind();
}
}
注意,像这样搜索GridView单元格(Rows[0].Cells[1].Text)工作与BoundField列,而不是TemplateField和自动生成列。