我有两个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(见上文)?
答案 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();
}
}