我要求允许内容管理系统中的用户通过gui界面创建自己的图像映射,我已经完成了。但是我没有将图像映射保存到页面代码,而是将图像映射代码保存到数据库(sql)中,我也完成了。 当我开始沿着这条道路走下去的时候,我一直在思考,我只是在运行时添加“usemap”属性,如下所示,其中promo1.ImageMap包含整个地图代码:
if(promo1.HasImageMap) imgPromotion1.Attributes.Add("usemap", promo1.ImageMap);
我想我认为它不够好,因为似乎“usemap”只希望从页面代码中使用现有地图的名称,而不是地图代码作为字符串。
有没有人对如何在运行时将数据库中的地图应用到图像有任何聪明的想法?
答案 0 :(得分:1)
您可以在页面的某处添加占位符,并在加载时从表中添加imagemap,如下所示(请注意,我假设promo1.ImageMap是一个包含整个的字符串 imagemap,例如< map name =“imageMapName”...< / map>):
placeHolder.Controls.Add(new LiteralControl(promo1.ImageMap));
然后,在您的代码中,确保该图像在其usemap属性中引用了正确的名称:
if(promo1.HasImageMap)
imgPromotion1.Attributes.Add("usemap", "#imageMapName");
(确保在添加属性时引用图像映射名称时使用填充(井号)。)