【问题标题】:Find out the id of the anchor tag which has been clicked找出被点击的锚标签的id
【发布时间】:2013-10-22 20:41:36
【问题描述】:

这些锚标记是在运行时创建的。有 4 个锚标签,当其中任何一个被点击时,应用程序被重定向到同一页面,但我的问题是我如何知道哪个锚标签(a1/a2/a3/a4)已被点击。我想要已单击的锚标记的 id,并且记住锚标记是在运行时创建的。 感谢您的宝贵时间。

    PlaceHolder1.Controls.Add(new LiteralControl("<a id='a1' rel='facebox' display='block' href='info.aspx'>Click1</a>"));

    PlaceHolder1.Controls.Add(new LiteralControl("<a id='a2' rel='facebox' display='block' href='info.aspx'>Click2</a>"));

    PlaceHolder1.Controls.Add(new LiteralControl("<a id='a3' rel='facebox' display='block' href='info.aspx'>Click3</a>"));

    PlaceHolder1.Controls.Add(new LiteralControl("<a id='a4' rel='facebox' display='block' href=info.aspx'>Click4</a>"));

【问题讨论】:

  • 您可以简单地传递查询字符串,如“info.aspx?id=1”,并基于该服务器端使用 Request.QueryString。
  • 你想要 info.aspx 上的锚标签的 id 吗?
  • @MicrosoftDN 无论我是在这个cs页面还是在info.aspx上找到点击的id,我都很好(两种情况)
  • 但是我只喜欢这个cs页面
  • 为什么不使用@mit 建议的查询字符串参数,稍后在 info.aspx 上使用它。

标签: c# html asp.net hyperlink anchor


【解决方案1】:

一种解决方案是通过以下方式创建锚点-

  for (int i = 1; i < 5; i++)
   {
       var htmlanchor = new HtmlAnchor
       {
          ID = "Click_ID" + i,
          HRef = "#info",
          InnerText = "Click" + i
       };

       htmlanchor.ServerClick += new EventHandler(htmlanchor_ServerClick);
       PlaceHolder1.Controls.Add(htmlanchor);
   }

事件处理程序将是-

   void htmlanchor_ServerClick(object sender, EventArgs e)
   {
       Response.Write(((System.Web.UI.Control)(sender)).UniqueID); // This will print id of anchor button you clicked
   }

【讨论】:

  • 谢谢您的时间先生,我在运行时循环并创建了不同的 HtmlAnchor 标签,并且我有每个 HtmlAnchor 的 ID,但我怎么知道哪个被点击了????
  • DN ...我不明白我怎么知道被点击的HtmlAnchor的id
  • 干得好,我得到了点击的 htmlanchor 但 htmlanchor.attributes.add("rel","facebox") 没有完全工作。
猜你喜欢
  • 2015-10-07
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-30
  • 1970-01-01
  • 1970-01-01
  • 2021-08-25
相关资源
最近更新 更多