C# 将默认图像设置为空值的图像字段
我有一个asp.net程序,其中图像以字节格式存储在sql数据库中。当我搜索每个项目时,该值将与图像一起显示在gridview中。某些产品没有图像,值为空。所以我需要为空值设置一个默认图像。我该怎么做?请帮忙。 这是我的密码 'alt=图像高度=250px宽度=275px/> 因为实际上是在页面上呈现,很难在一行中进行复杂的逻辑操作,所以我要做的是调用一个函数,在该函数中我实现了我的逻辑,下面是一个基于您的问题的示例: 关于asp.net和内部GridViewC# 将默认图像设置为空值的图像字段,c#,asp.net,C#,Asp.net,我有一个asp.net程序,其中图像以字节格式存储在sql数据库中。当我搜索每个项目时,该值将与图像一起显示在gridview中。某些产品没有图像,值为空。所以我需要为空值设置一个默认图像。我该怎么做?请帮忙。 这是我的密码 'alt=图像高度=250px宽度=275px/> 因为实际上是在页面上呈现,很难在一行中进行复杂的逻辑操作,所以我要做的是调用一个函数,在该函数中我实现了我的逻辑,下面是一个基于您的问题的示例: 关于asp.net和内部GridView <asp:TemplateF
<asp:TemplateField >
<ItemTemplate >
<%#GetImage(Container.DataItem)%>
</ItemTemplate>
</asp:TemplateField>
关于代码隐藏
protected string GetImage(object oItem)
{
// read the data from database
var cImgSrc = DataBinder.Eval(oItem, "img") as byte[];
// if we do not have any image, return some default.
if(cImgSrc == System.DBNull)
return "<img src=\"empty.gif\">"
else
// format and render back the image
return String.Format("<img src=\"data:image/jpg;base64,{0}\" alt=\"image\" height=\"250px\" width=\"275px\"/>",
Convert.ToBase64String((byte[])cImgSrc));
}
行数据绑定
使用SQL视图
您可以使用RowDataBound,但每行都会触发RowDataBound,这会降低web应用程序的速度。因此,对于RowDataBound,请使用SQL视图
对于当前场景,创建一个带ISNULL的sql视图,如下所示
从tableName中选择col1、col2、ISNULLImgCol作为ImgCol
然后将上述查询绑定到C数据表,并将该数据表与asp GridView绑定,代码在哪里?GridView?是的,在gridviewSir中,它在返回时显示error@vishnusuresh错误说明了什么?。除了错误,请我不能调试你的代码,这是主要的想法,你需要采取行动,向前迈进一步,使之适应你的项目。
<asp:TemplateField >
<ItemTemplate >
<%#GetImage(Container.DataItem)%>
</ItemTemplate>
</asp:TemplateField>