我想要的只是我的DropDownList特别。 :(
我只能写出名字,但这并不像有趣的那样。所以我尝试添加图像,如下:
// Somewhere in the code...
ListItem item = new ListItem();
item.Value = // something
item.Text = "<img src=\"" + <AnImagePathIGetFromTheDatabase> + "\">";
<MyDropDownlist>.Items.Add(item);
然而邪恶的东西会自动逃避列表中的文本,如下所示:
<img src="https://41.media.tumblr.com/bcb96f4a4c46a1001118ee216d7abacf/tumblr_mgfhbngsDl1r58qimo1_500.png">
所以我得到文字而不是图像。我怎么能克服这个?
编辑:使用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.
为什么会这样?
答案 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() + '">');
});
});