2010-04-22 2 views
1

У меня есть требование разрешить пользователям в системе управления контентом создавать свои собственные карты изображений через интерфейс gui, который я выполнил. Но вместо сохранения карты изображения в код страницы, я хочу сохранить код карты изображения в базу данных (sql), которую я также выполнил.
Когда я начал спускаться по этой дороге в моей голове, я думал все время, что я бы просто добавить атрибут «usemap» во время выполнения, показанной ниже, где promo1.ImageMap держит весь код карты:Сохранение карты изображения в базе данных

if(promo1.HasImageMap) imgPromotion1.Attributes.Add("usemap", promo1.ImageMap);

Я думаю, что я не думал об этом, хотя и достаточно хорошо, потому что кажется, что «usemap» только ожидает, что имя существующей карты будет использоваться из кода страницы, а не код карты в виде строки.

У кого-нибудь есть умные идеи о том, как применить карту от базы данных к изображению во время выполнения?

ответ

1

Вы можете добавить заполнитель где-то на странице и добавить карты ссылок на него из-за стола, когда вы загружаете его, как показано на следующем (обратите внимание, что я предполагаю, что promo1.ImageMap является строкой, которая содержит весь ImageMap, например < карта имя = "imageMapName" ... </карта >):

placeHolder.Controls.Add(new LiteralControl(promo1.ImageMap)); 

Затем в коде, убедитесь, что изображение ссылается на собственное имя в атрибуте usemap:

if(promo1.HasImageMap) 
    imgPromotion1.Attributes.Add("usemap", "#imageMapName"); 

(Убедитесь, что вы используете люк (знак фунта) при обращении к имени карты памяти при добавлении атрибута.)

+0

Hi Michael - на основе вашего первого комментария и этого кода с фрагментом кода; вы заставили меня понять, насколько я был старше, думая об этом. Как вы сказали ... это просто строка. Было легко исправить добавление нового поля для имени imagemap для объекта, чтобы при его создании он также сохранялся в db. Так что у меня есть сейчас. if (_promo1.HasImageMap) { // inject the map litImageMaps.Text += _promo1.ImageMap; // apply the map to this image imgPromotion1.Attributes.Add("usemap", _promo1.ImageMapName); } Отлично работает! Спасибо за пощечину реальности. :-) – hardba11