Событие OnClick для ImageMap никогда не вызывается - PullRequest
1 голос
/ 04 июня 2010

У меня есть элемент управления ImageMap в моем файле ascx. Я пытаюсь заставить что-то произойти, когда пользователь нажимает на область на карте, но страница просто отправляет обратно без моего обработчика события "imageMap_Click", который никогда не вызывается. Предложения?

<asp:ImageMap ID="imageMap" runat="server" ImageUrl="~/images/MapImages/map.jpg" HotSpotMode="PostBack" OnClick="imageMap_Click">

Мой imageMap_Click выглядит так, просто чтобы посмотреть, вызывается ли он вообще:

    protected void imageMap_Click(object sender, ImageMapEventArgs e)
    {
        throw new NotImplementedException();
    }

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Я уже нашел это. Это произошло из-за того, что элемент управления отключил viewstate, например:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MapControl.ascx.cs" Inherits="XXX.MapControl" EnableViewState="false" %>

Я не понимаю, почему. Кто-нибудь хочет мне сказать?

0 голосов
/ 04 июня 2010

Только из документов, разве ваша карта изображений не должна содержать различные местоположения для отображения кликов?

Например:

<asp:ImageMap ID="SaturnImage" 
  ImageUrl="~/saturn.PNG" 
  runat="server" OnClick="SaturnImage_Click">
  <asp:CircleHotSpot AlternateText="planet" HotSpotMode=PostBack
    PostBackValue="planet" Radius=40 X=100 Y=100 />
  <asp:CircleHotSpot HotSpotMode=Inactive 
    Radius=60 X=100 Y=100 />
  <asp:CircleHotSpot AlternateText="rings" HotSpotMode=PostBack
    PostBackValue="rings" Radius=80 X=100 Y=100 />
</asp:ImageMap>

Поскольку я предполагаю, что с ImageMap, когда вы щелкаете по нему, он выполняет обратную передачу, только если вы щелкаете по части, которая настроена для щелчка. Оно не должно генерировать событие щелчка, если ни одна из отображенных частей не нажата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...