需要一个Hyperlink控件来同时执行多项操作

时间:2012-08-01 15:14:57

标签: vb.net facebook hyperlink datalist

在我的网站上,我有一个包含图像缩略图的DataList。缩略图是HyperLink控件,单击时可提供源图像的放大视图(存储在我的数据库中)。

我的客户想在每张图片上都有一个facebook Like按钮,我希望将它放在点击缩略图时出现的灯箱窗口中。 我在这里面临的挑战是,要为Like生成信息,我需要创建元标记,每个图像最好在运行时创建自己的元标记。

我无法弄清楚如何让HyperLink点击打开灯箱并同时创建元标记。

非常感谢任何帮助。

要查看网站的实时视图,请转到http://www.dossier.co.za

2 个答案:

答案 0 :(得分:1)

我们处理类似问题的方法是在javascript中挂钩href的onclick事件。

根据您确切需要做什么,您甚至可以通过从javascript方法返回false来阻止超链接的标准浏览器行为。

在某些情况下,我们只是通过将href设置为“#”来使用“show”的超链接。

这是一个结合了所有这些概念的例子:

<a href="#" id="lnkFile" runat="server" onclick="javascript:{cmdFile_Click(); return false}" title="View the file">File Name</a>

在这种情况下,执行指定的javascript,没有真正的超链接,浏览器不会尝试导航到指定的URL,因为我们在javascript中返回false。

答案 1 :(得分:0)

将类名添加到开始表标记中,如class =“tbl_images”,这样我们就可以使用JQuery来访问它。捕获td上的单击并拾取项目的ID。根据需要将该ID传递给您的代码以生成元标记。在下面当用户点击td中的锚点时,将运行一个函数。

我一直用这个来访问td中的属性,所以我可以运行一个函数。您可以使用类似的东西从图像/锚点中拾取值并创建一些东西......

      $("#tbl_images > tbody > tr ").each(function () {
          //get the id of the tr (if required)
          var id = $(this).attr("id");
          var ImageTitle = $(this).find("img.Image_Class_Name").attr("title");

          //on click of anchor with classname of lighthouse run function, 
          //passing in our id or other data in the row to our function
          $(this).find("td: > a.lighthouse").click(function () {
              //update script for this record
              MyFunction(id,ImageTitle);
          });
      });