获取网格的ID

时间:2013-06-19 09:28:54

标签: c# asp.net

我有两个ASP.NET Grid视图,其中包含一个Image按钮,它们都调用Edit On-click事件。点击事件如下所示:

protected void Edit(object sender, EventArgs e)
{
    ImageButton ibtn1 = sender as ImageButton;

    using (GridViewRow row = (GridViewRow)((ImageButton)sender).Parent.Parent)
    {
        txtMessageID.ReadOnly = true;
        txtMessageID.Text = row.Cells[2].Text;
        txtReference.Text = row.Cells[6].Text;
        buttonClicked.Text = ibtn1.ID.ToString();
        popup.Show();
    }
}

唯一的目的是触发ModalDialogBox,点击网格视图中的关键项。我的问题是其中一个网格没有单元格[6](参考),因此倒下了。我需要做的是围绕这个单元格包装一个语句,检查按钮单击来自哪个网格(ID)。

我没有使用Row命令,因为这不允许来自多个网格的单个方法调用。我的问题是如何从这个方法中点击的图像按钮中获取网格ID(见上文)?

1 个答案:

答案 0 :(得分:0)

最终使用了Gridview的RowCommand,然后使用以下内容来获取我需要的内容:

rotected void Edit(对象发送者,GridViewCommandEventArgs e)     {         ImageButton ibtn1 =发送者为ImageButton;

    GridView grd = sender as GridView;

    string gridName = grd.ClientID;

    string buttonId = e.CommandName;

    using (GridViewRow row = (GridViewRow)((ImageButton)e.CommandSource).NamingContainer)
    {
        txtMessageID.ReadOnly = true;
        txtMessageID.Text = row.Cells[2].Text;
        if (gridName == "grdMessageDups")
        {
            txtReference.Text = row.Cells[6].Text;
        }
        buttonClicked.Text = ibtn1.ID.ToString();
        popup.Show();
    }
}