我尝试在我的gridview上的图像为空时显示替代图像,我使用模板字段来显示图像。但我只能输入替代文字。无法插入备用默认图像。你们能帮助我吗?
<asp:TemplateField>
<HeaderTemplate>
Question Image
</HeaderTemplate>
<ItemTemplate>
<img src='data:image/jpg;base64,<%# Eval("QuestionImage") != System.DBNull.Value ? Convert.ToBase64String((byte[])Eval("QuestionImage")) : string.Empty %>'
alt="No image" height="100" width="200" />
</ItemTemplate>
</asp:TemplateField>
答案 0 :(得分:1)
一个选项可以是行数据绑定事件,您可以转到该单元格(模板列)并提供图像源。如果为null,则将其更改为默认图像。例如:
事件:RowDatabound
获取单元格的值(模板列)
if(!string.IsNullOrEmpty(db.imagePath))
{
imgUser.src=db.imagePath;
}
else
{
imgUser.src="/Images/default.jpg";
}
这是一个总体想法,而不是确切的代码,因此请忽略任何输入或代码错误。其他的事情是请避免评估。
答案 1 :(得分:0)
您可以尝试使用 img 标记的代码吗?
<img src='<%# (Eval("QuestionImage") != System.DBNull.Value ? "data:image/jpg;base64," + Convert.ToBase64String((byte[])Eval("QuestionImage")) : "default.jpg") %>'
height="100" width="200" />
其中 default.jpg 是图像为空时要显示的图像的文件名。