C# 在asp.net gridview行中单击了哪个链接
我在gridview的同一单元格中添加了两个链接和一些纯文本,我还拥有gridview\u SelectedIndexChanged函数,当单击任何链接时调用该函数,并基于grid的值运行我的db查询。gridview也是动态创建的,因此可以有不同数量的行 有没有办法知道在gridview\u SelectedIndexChanged函数中单击了Link1或Link2C# 在asp.net gridview行中单击了哪个链接,c#,sql,asp.net,C#,Sql,Asp.net,我在gridview的同一单元格中添加了两个链接和一些纯文本,我还拥有gridview\u SelectedIndexChanged函数,当单击任何链接时调用该函数,并基于grid的值运行我的db查询。gridview也是动态创建的,因此可以有不同数量的行 有没有办法知道在gridview\u SelectedIndexChanged函数中单击了Link1或Link2 protected void gridview_SelectedIndexChanged(object sender, Even
protected void gridview_SelectedIndexChanged(object sender, EventArgs e)
{
if (Link1.Clicked)
{do this}
elseif (Link2.Clicked)
{do this}
}
您可能希望使用ASP.NET控件跟踪单击的链接
在html中
然后在后端添加一个事件处理程序,如
public void Link1_Click(object sender, EventArgs e)
{
//add variable marking this link was clicked
link1_clicked = true;
Response.Redirect("Link1Destination.aspx");
}
对link2也一样
将布尔变量link1\u单击
和link2\u单击
添加到后端代码的顶部。然后,当您需要检查单击的内容时,您可以过滤布尔变量,以查看使用for循环单击时标记为true的内容
基本上,事件处理程序是您的if-clicked语句。在我的情况下,该解决方案不起作用,因为我是从asp gridview ItemTemplate中的代码中添加这些链接,如果我在ItemTemplate中添加OnClick,它将调用自己的on-click方法,而不是调用gridview selectedindexchanged函数,所以我不知道单击了哪一行。是大网格吗?您可以手动跟踪每个链接的行。除非网格是动态生成的,否则您可能无法预测这一点。我将为您做更多的研究。网格是动态生成的。
public void Link2_Click(object sender, EventArgs e)
{
//add variable marking this link was clicked
link2_clicked = true;
Response.Redirect("Link2Destination.aspx");
}