首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建动态ASP:ImageMap

如何创建动态ASP:ImageMap
EN

Stack Overflow用户
提问于 2009-01-07 19:45:52
回答 2查看 4.3K关注 0票数 0

我想创建一个具有动态数量热点的ASP:ImageMap。我尝试了下面的代码,但它抱怨图像映射中嵌套了一个中继器。你有什么建议吗?

代码语言:javascript
复制
    <asp:ImageMap ID="imgMap" runat="server" ImageUrl="~/circles.png" 
                  HotSpotMode="PostBack">
       <asp:Repeater runat="server" id="repeat" DataSource=<%#circles %>>
            <asp:CircleHotSpot PostBackValue="<%#name %>" 
                               Radius="<%#r %>" 
                               X="<%#x %>" 
                               Y="<%#y %>" />
        </asp:Repeater>
    </asp:ImageMap> 

(请忽略数据绑定的问题。我将在稍后解决这些问题。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-01-08 04:59:27

您不能将中继器放入另一个服务器标记中。将热点动态添加到ImageMap的方法是在后台代码中动态添加它们。您应该能够在页面加载事件中使用类似以下内容:

代码语言:javascript
复制
CircleHotSpot hotSpot = new CircleHotSpot();
hotSpot.PostBackValue = "xxxx";
hotSpot.X = xx;
hotSpot.Y = yy;
hotSpot.radius = r;
imgMap.HotSpots.Add(hotSpot);

由于我已经有一段时间没有写这段代码了,所以请原谅我的语法可能有点问题,但你应该明白我的意思。如果想要添加多个热点,可以将这段代码放在for/foreach循环中,并迭代要转换为热点的项目列表。

票数 0
EN

Stack Overflow用户

发布于 2009-01-07 21:26:46

你需要使用服务器控件吗?或者你可以用普通的HTML来做吗?像这样的东西:

代码语言:javascript
复制
<map id="map1">
    <asp:Repeater ID="rep" runat="server">
    <ItemTemplate>
    <div align=center> 

    <area href="<%# DataBinder.Eval(Container.DataItem,"page")%>" 
     shape="circle" 
     coords="<%# DataBinder.Eval(Container.DataItem,"Coords")%>" 
     alt="area1" />
    </ItemTemplate>
    </asp:Repeater>
    </map>
    <img src="Images/HPIM1784.jpg" alt="bajs" usemap="#map1" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/421789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档