如何在asp.net的下一页中获取图像映射回发值?

时间:2015-07-25 03:45:50

标签: c# html asp.net

我创建了一个网页(page1.aspx),我在其中放置了一个Image map控件。在图像地图中,我放置了印度地图。当我点击一个区域时,它会将我导航到另一个页面(page2.aspx),其中包含有关该区域的信息。

我希望能够将我点击的区域的回发值传输到page2.aspx,以便我可以使用它来检索该特定区域的数据。

如何将回发值传输到第2页?

我是asp.net的新手,需要帮助。提前谢谢。

<asp:ImageMap ID="ImageMap1" runat="server" HotSpotMode="Navigate"    ImageAlign="Middle" ImageUrl="~/Images/Jammu.jpg" OnClick="ImageMap1_Click">
        <asp:PolygonHotSpot AlternateText="Jammu" Coordinates="180, 523,.... 539, 184, 542" HotSpotMode="PostBack" NavigateUrl="~/page2.aspx" PostBackValue="(JK)-Jammu" />
        <asp:PolygonHotSpot Coordinates="492, 526, 506,.... 498, 518" HotSpotMode="PostBack" NavigateUrl="~/page2.aspx" PostBackValue="(JK)-Leh" />
    </asp:ImageMap>
</div>

2 个答案:

答案 0 :(得分:0)

尝试向NavigateUrl添加查询字符串,如下所示:

 <asp:PolygonHotSpot AlternateText="Jammu" Coordinates="180, 523,.... 539, 184, 542" HotSpotMode="PostBack" NavigateUrl="~/page2.aspx?region=JKJammu" PostBackValue="(JK)-Jammu" />
        <asp:PolygonHotSpot Coordinates="492, 526, 506,.... 498, 518" HotSpotMode="PostBack" NavigateUrl="~/page2.aspx?region=JKLeh" 
              PostBackValue="(JK)-Leh" />

请参阅NavigateUrl ...

答案 1 :(得分:0)

正如MSDN在https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.imagemap.hotspotmode%28v=vs.110%29.aspx

中提到的那样

如果为ImageMap.HotSpotMode属性指定HotSpotMode.Navigate,则在单击HotSpot时页面将导航到URL。使用NavigateUrl属性指定要导航到的URL。



如果为ImageMap.HotSpotMode属性指定HotSpotMode.PostBack,则在单击HotSpot时页面将生成回发到服务器。使用PostBackValue属性指定热点区域的名称。发生回发事件时,此名称将在ImageMapEventArgs事件数据中传递。单击回发HotSpot时,将引发Click事件。若要以编程方式控制单击回发HotSpot时执行的操作,请为Click事件提供事件处理程序。

所以我认为你应该将 HotSpotMode 设置为 PostBack ,然后抓住 PostBackValue ,然后使用

手动导航到目标页面

Response.Redirect("~/page2.aspx?value=" + e.PostBackValue);