我在gridview的同一单元格中添加了两个链接和一些纯文本,我还具有gridview_SelectedIndexChanged函数,该函数在单击任何链接时会调用,并且基于网格的值运行数据库查询。 gridview也是动态创建的,因此可以具有不同的行数。
是否有办法知道在gridview_SelectedIndexChanged函数中单击了Link1还是Link2?
protected void gridview_SelectedIndexChanged(object sender, EventArgs e)
{
if (Link1.Clicked)
{do this}
elseif (Link2.Clicked)
{do this}
}
答案 0 :(得分:1)
您将希望通过使用ASP.NET控件来跟踪单击了哪个链接
<asp:LinkButton ID="Link1" runat="server" Click="Link1_Click" />
在您的html中
然后在后端添加事件处理程序,例如
public void Link1_Click(object sender, EventArgs e)
{
//add variable marking this link was clicked
link1_clicked = true;
Response.Redirect("Link1Destination.aspx");
}
并对link2进行相同操作
<asp:LinkButton ID="Link2" runat="server" Click="Link2_Click" />
public void Link2_Click(object sender, EventArgs e)
{
//add variable marking this link was clicked
link2_clicked = true;
Response.Redirect("Link2Destination.aspx");
}
将布尔变量link1_clicked
和link2_clicked
添加到后端代码的顶部。然后,当您需要检查单击的内容时,可以过滤布尔变量以查看被for循环单击的标记为true的内容。
基本上,事件处理程序是您单击的语句。