ASP-DropDownList CodeBehind图像

时间:2015-06-05 19:05:22

标签: html asp.net image drop-down-menu

我想要的只是我的DropDownList特别。 :(

我只能写出名字,但这并不像有趣的那样。所以我尝试添加图像,如下:

// Somewhere in the code...
ListItem item = new ListItem();
item.Value = // something
item.Text = "<img src=\"" + <AnImagePathIGetFromTheDatabase> + "\">";
<MyDropDownlist>.Items.Add(item);

然而邪恶的东西会自动逃避列表中的文本,如下所示:

&lt;img src=&quot;https://41.media.tumblr.com/bcb96f4a4c46a1001118ee216d7abacf/tumblr_mgfhbngsDl1r58qimo1_500.png&quot;&gt;

所以我得到文字而不是图像。我怎么能克服这个?

编辑:使用Lajos&#39;解决方案,我已经到了检查选择元素的情况,我得到以下结果:

<img src="http://i.somethingawful.com/u/robtg/Fiesta/f05.jpg" alt="monster" height="42" width="42">

这正是我所寻找的。遗憾的是,在页面源代码中,我得到以下内容:

<option value="MeaninglessImp" class="imageconverter">http://i.somethingawful.com/u/robtg/Fiesta/f05.jpg</option>

列表本身显示2个空单元格。检查员说图片已经缩小到0x0。

小提琴:here.

为什么会这样?

1 个答案:

答案 0 :(得分:1)

您可以将文本设置为包含源,并在加载页面之前不显示它们。您可以实现一个Javascript库,它将src文本替换为列表中的图像。那应该可以解决问题。

// Somewhere in the code...
ListItem item = new ListItem();
item.Value = // something
item.Text = <AnImagePathIGetFromTheDatabase>;
listItem.Attributes.Add("class", "imageconverter");
<MyDropDownlist>.Items.Add(item);

在Javascript中你需要像:

$(function() {
    $(".imageconverter").each(function() {
        $(this).html('<img src="' + $(this).text() + '">');
    });
});