使用ITemplate生成按钮在GridView中选择项目

本文关键字:GridView 选择 项目 按钮 ITemplate 使用 | 更新日期: 2023-09-27 17:58:36

我很难弄清楚如何使用ITemplate中的imagebutton(见下文)将按钮对应的行数据(ItemID)附加为查询字符串。

我的ITemplate:中的图像按钮

ImageButton select_button = new ImageButton();
select_button.ID = "select_button";
select_button.ImageUrl = "~/Files/System/Icons/highlighter.png";
select_button.CommandName = "Select";
select_button.ToolTip = "Select";
container.Controls.Add(select_button);

我应该在imagebutton的OnClick事件中处理它(如果是,有没有方法获取按钮所在的行),还是可以在GridView事件中处理(rowbinding、rowsleted、rowcommand等)?

我很乐意根据要求详细说明我的代码。^^

使用ITemplate生成按钮在GridView中选择项目

您可以在RowDataBound事件中的按钮控件的CommandArgument属性中设置ID。一旦你有了一个ID,你就可以用它来跟踪行

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRow dr = ((DataRowView)e.Row.DataItem).Row;
        ((Button)e.Row.FindControl("select_button")).CommandArgument = dr["IdColumn"].ToString();
    }
}