我正在创建一个MVC应用程序。其中一个页面需要一个包含动态复选框列表的字段。要显示的实际复选框数由SQL表中的行数控制。每行都是一个复选框。我已经弄清楚如何执行此操作并使用以下代码在页面上显示它们。此示例包含动态货币列表,每个货币由复选框表示。此示例在每个复选框旁边显示一个标签,描述货币的内容(例如,USD)。但是,真正想要的是显示一个图像(它将作为byte []类型包含在模型中)。我不确定如何实现这一点,因为MVC不支持像@ Html.ImageFor这样的任何东西。这可能比我做得更简单,但我无法弄清楚如何将图像放在@Html.LabelFor当前所在的位置。
@for (int i = 0; i < Model.CurrencyList.Count; i++)
{
<div>
@Html.HiddenFor(x => x.CurrencyList[i].AdvertiserCurrencySupportId)
@Html.CheckBoxFor(x => x.CurrencyList[i].Checked)
@Html.LabelFor(x => x.CurrencyList[i].Checked, Model.CurrencyList[i].Currency)
</div>
}
答案 0 :(得分:2)
您应该能够使用基本图像标记,在需要的地方插入数据
<img src="@Model.CurrencyList[i].ImageUrl">
答案 1 :(得分:1)
由于你有字节数组,看起来你想使用内联图像,所以你应该能够用纯HTML做到这一点:
<img src="data:image/png;base64,@Convert.ToBase64String(Model.CurrencyList[i].ImageBytes)">
但是你可能会更好地使用指向URL的普通图像,因为内联图像可能会占用大量带宽,因为每次页面加载时它都会拉动它们,因此您不会获得任何浏览器缓存