Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 5

ImageMap не вызывается обработчик OnClick

02.11.2011, 12:25. Показов 1554. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Использую контрол ImageMap, области в нем создаются программно (это необходимо по логике задачи), примерно так
PolygonHotSpot phs = new PolygonHotSpot();
phs.Coordinates = "30,72,438,72,438,186,370,186,370,144,30 ,144";
phs.AlternateText = "1";
phs.PostBackValue = "C1";
ImagePP.HotSpots.Add(phs);

phs = new PolygonHotSpot();
phs.Coordinates = "30,148,100,148,100,218,30,218";
phs.AlternateText = "2";
phs.PostBackValue = "C2";
phs.HotSpotMode = HotSpotMode.PostBack;
ImagePP.HotSpots.Add(phs);
phs = new PolygonHotSpot();
phs.Coordinates = "130,160,200,160,220,220,130,220";
phs.AlternateText = "2";
phs.PostBackValue = "C2";
phs.HotSpotMode = HotSpotMode.PostBack;
ImagePP.HotSpots.Add(phs);
проблема в том что не вызывается обработчик события OnClick для ImageMap
если задавать области декларативно в коде ASPX страницы то все нормально работает
подскажите плиз как решить эту проблему
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2011, 12:25
Ответы с готовыми решениями:

Обработчик события OnClick
Почему не заходит в обработчик события? Если создается элемент динамически : var L = new LinkButton(); ...

Не вызывается обработчик формы
Добрый день! Пытаюсь разобраться с обработкой форм на MVC пробовала описывать форму так @using (Html.BeginForm("метод",...

не вызывается функция при Onclick();
В основном .html файлике есть скрипт календаря: <head><style> /* calendar */ table.calendar { border-left:1px solid #999; } ...

5
185 / 185 / 53
Регистрация: 10.04.2009
Сообщений: 491
02.11.2011, 23:56
примерно так
C#
1
2
3
4
5
6
phs.Click  += new EventHandler( MyEvent_Click);
 
void MyEvent_Click(object sender, EventArgs e)
    {
        //here we go :)
    }
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 5
03.11.2011, 12:15  [ТС]
Дело в том что у PolygonHotSpot нет события Click, оно есть у ImageMap
Пробовал и так

<asp:ImageMap ID="ImagePP" runat="server" Height="250px" Width="700px" BorderStyle="Dashed"
hotspotmode="PostBack" OnClick="ImagePP_Click">

и программно

ImagePP.Click += new ImageMapEventHandler(ImagePP_Click);

ImagePP_Click не вызывается

Добавлено через 1 час 9 минут
Еще - если код добавления PolygonHotSpot к ImageMap вызываю на Page_Load все нормально срабатывает

если использую примерно такой код

protected void ddlFloorSelect_SelectedIndexChanged(obje ct sender, EventArgs e)
{
SetImagePP();
}

private void SetImagePP()
{
ImagePP.Visible = false;

string imageID = ddlFloorSelect.SelectedValue;
int FloorID;

if (int.TryParse(imageID, out FloorID))
{
ImagePP.ImageUrl = "HanlersAshx/ImageHandler.ashx?ID=" + FloorID;
ImagePP.Visible = true;
if (FloorID == 31)
{
PolygonHotSpot phs = new PolygonHotSpot();
phs.Coordinates = "30,72,438,72,438,186,370,186,370,144,30 ,144";
phs.AlternateText = "1";
phs.PostBackValue = "C1";
ImagePP.HotSpots.Add(phs);

phs = new PolygonHotSpot();
phs.Coordinates = "30,148,100,148,100,218,30,218";
phs.AlternateText = "2";
phs.PostBackValue = "C2";
ImagePP.HotSpots.Add(phs);
phs = new PolygonHotSpot();
phs.Coordinates = "130,160,200,160,220,220,130,220";
phs.AlternateText = "2";
phs.PostBackValue = "C2";
ImagePP.HotSpots.Add(phs);

phs = new PolygonHotSpot();
phs.Coordinates = "130,148,324,148,324,166,336,166,336,218 ,198,218,198,164,130,164";
phs.AlternateText = "3";
phs.PostBackValue = "C3";
ImagePP.HotSpots.Add(phs);
phs = new PolygonHotSpot();
phs.Coordinates = "370,190,438,190,438,218,370,218";
phs.AlternateText = "3";
phs.PostBackValue = "C3";
ImagePP.HotSpots.Add(phs);
}
}
}

обработчик OnClick не вызывается. В чем может быть проблема? (2ой день уже бьюсь над этим )
0
185 / 185 / 53
Регистрация: 10.04.2009
Сообщений: 491
03.11.2011, 12:22
в смысле обработчик к ImageMap, а не к PolygonHotSpot

доки
0
0 / 0 / 0
Регистрация: 06.08.2011
Сообщений: 5
03.11.2011, 12:48  [ТС]
Да обработчик к ImageMap. Программно на событии SelectedIndexChanged для DropDownList сторются области PolygonHotSpot - добавляются к коллекции ImageMap.HotSpots. Области нормально отображаются (в смысле при наведении мыши на них курсор меняет форму, отображается AlternateText), при щелчке на них форма обновляется, тока обработчик OnClick не цепляет.
0
3 / 3 / 1
Регистрация: 15.09.2011
Сообщений: 28
04.11.2011, 13:13
Контрол, который создается непосредственно в коде, необходимо обьявлять на Page_load().
События добавляем как указано выше:

C#
1
2
3
4
5
6
Control.Click  += new EventHandler(MyEvent_Click);
 
void MyEvent_Click(object sender, EventArgs e)
    {
        //here we go :)
    }
В таком случае обработчик сработает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.11.2011, 13:13
Помогаю со студенческими работами здесь

Не вызывается функция с вложенными циклами в onclick из подключенного файла
Есть код Или здесь &lt;html&gt; &lt;head&gt; &lt;/head&gt; &lt;body&gt; &lt;button class=&quot;TableButton&quot;&gt; &lt;img onclick=&quot;a();&quot;...

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

Обработчик OnClick
Здравствуйте. Только осваиваю программирование на vba. Попытался в стандартный обработчик OnClick для кнопки для добавления записей в...

Не вызывается обработчик формы регистрации
Есть форма регистрации &lt;form action=&quot;register.php&quot; method=&quot;post&quot; name=&quot;r_form&quot; &gt; &lt;table&gt; &lt;tr&gt; &lt;td&gt;...

Не вызывается обработчик EXTI4 на STM32F103RB
День добрый! При работе с внешними прерываниями столкнулся с неработоспособность одно из каналов, а именно EXTI4. Причем EXTI9_5 работает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru