0

这些锚标记是在运行时创建的。有 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>"));
4

1 回答 1

0

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

  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
   }
于 2013-10-15T06:44:21.130 回答