单击SVG触发功能后面的页面代码

时间:2013-02-21 00:05:29

标签: c# asp.net svg click code-behind

这里的简短问题:我有一个带节点的SVG图表。有没有办法能够点击SVG触发后面的页面代码中的函数?具体来说,让它能够分辨出图表中的哪个节点被点击。我注意到asp控件内置了这种类型的功能,但不是更通用的html组件。

1 个答案:

答案 0 :(得分:0)

好吧,今天我找到了解决方案。我将在这里与其他任何人分享。

我的点击事件触发器是使用CSS z-index放置在SVG上的asp:ImageMap。

在显示SVG之前,Page_Load函数中的代码隐藏采用SVG并将其解析为XML,因此我可以像XML文档一样读取/修改它。首先,程序检查'g'元素是否有任何变换,并保存在绘制坐标时使用的偏移量。然后,程序查看XML中的每个形状(rect,circle等)元素,并从形状中提取x,y坐标并创建相应的ImageMap HotSpot并将其添加到ImageMap。

呼!