在asp.net gridview行中单击哪个链接

时间:2019-02-20 17:13:52

标签: c# sql asp.net

我在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}
}

Sample Image

1 个答案:

答案 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_clickedlink2_clicked添加到后端代码的顶部。然后,当您需要检查单击的内容时,可以过滤布尔变量以查看被for循环单击的标记为true的内容。

基本上,事件处理程序是您单击的语句。