如何将多个网格视图绑定到单个事件处理程序
How can I bind multiple gridviews to a single eventhandler
我有几个 ASP 网格视图,当我单击索引值时,我会保存它们的关联 ID。我不想为每个人创建多个事件处理程序,而是想将它们全部绑定到一个事件处理程序中。
这是我的 asp 代码:
<asp:GridView ID="grvHighPriority" runat="server" OnSelectedIndexChanged="grv_SelectedIndexChanged" AutoGenerateSelectButton="true"/>
<asp:GridView ID="grvMediumPriority" runat="server" OnSelectedIndexChanged="grv_SelectedIndexChanged" AutoGenerateSelectButton="true"/>
还有我的 C# 代码:
protected void grv_SelectedIndexChanged(object sender, EventArgs e)
{
String groupedErrorID = "";
GridViewRow row = grvHighPriority.SelectedRow;
groupedErrorID = row.Cells[1].Text.ToString();
lblID.Text = groupedErrorID; //for testing purposes
}
目前事件处理程序只适用于最高优先级的网格视图,但我想将我所有的网格视图绑定到同一个事件处理程序。这可能吗?
提前致谢!
编辑:
感谢@Enrique 找到了可行的解决方案:
protected void grv_SelectedIndexChanged(object sender, EventArgs e)
{
**GridView r = (GridView)sender;**
String groupedErrorID = "";
**GridViewRow row = r.SelectedRow;**
groupedErrorID = row.Cells[1].Text.ToString();
lblLogin.Text = groupedErrorID; //for testing purposes
}
这应该有效
protected void grv_SelectedIndexChanged(object sender, EventArgs e)
{
String groupedErrorID = "";
GridViewRow row = (((YourControl)sender).Parent.Parent as GridViewRow);
groupedErrorID = row.Cells[1].Text.ToString();
lblID.Text = groupedErrorID; //for testing purposes
}
YourControl
可以像 LinkButton、Button 等
我有几个 ASP 网格视图,当我单击索引值时,我会保存它们的关联 ID。我不想为每个人创建多个事件处理程序,而是想将它们全部绑定到一个事件处理程序中。 这是我的 asp 代码:
<asp:GridView ID="grvHighPriority" runat="server" OnSelectedIndexChanged="grv_SelectedIndexChanged" AutoGenerateSelectButton="true"/>
<asp:GridView ID="grvMediumPriority" runat="server" OnSelectedIndexChanged="grv_SelectedIndexChanged" AutoGenerateSelectButton="true"/>
还有我的 C# 代码:
protected void grv_SelectedIndexChanged(object sender, EventArgs e)
{
String groupedErrorID = "";
GridViewRow row = grvHighPriority.SelectedRow;
groupedErrorID = row.Cells[1].Text.ToString();
lblID.Text = groupedErrorID; //for testing purposes
}
目前事件处理程序只适用于最高优先级的网格视图,但我想将我所有的网格视图绑定到同一个事件处理程序。这可能吗? 提前致谢!
编辑:
感谢@Enrique 找到了可行的解决方案:
protected void grv_SelectedIndexChanged(object sender, EventArgs e)
{
**GridView r = (GridView)sender;**
String groupedErrorID = "";
**GridViewRow row = r.SelectedRow;**
groupedErrorID = row.Cells[1].Text.ToString();
lblLogin.Text = groupedErrorID; //for testing purposes
}
这应该有效
protected void grv_SelectedIndexChanged(object sender, EventArgs e)
{
String groupedErrorID = "";
GridViewRow row = (((YourControl)sender).Parent.Parent as GridViewRow);
groupedErrorID = row.Cells[1].Text.ToString();
lblID.Text = groupedErrorID; //for testing purposes
}
YourControl
可以像 LinkButton、Button 等