我在gridview下面有一个与UserID号码链接的图像字段。 如果图片dosnt存在于较旧的特定区域以获得标准备用图片,该怎么办?
<ItemTemplate>
<asp:Image ID="MainPic" runat="server"
ImageUrl='<%# GetImageUrl(Eval("PerfilId") as string)%>' />
</ItemTemplate>
...
protected string GetImageUrl(string dbImgURL)
{
if (File.Exists(dbImgURL))
{
return dbImgURL;
}
else
{
return "AdminFotoUser/UserPics/BGP1.png";
}
}
答案 0 :(得分:-1)
您可以检查GridView的onRowDataBound事件中的图像路径,如果文件不存在,则将其更改为公共图像。 使用System.IO;
if (File.Exists(path))
{
Console.WriteLine("file exists");
}
否则 //查找控件并将其绑定到公共图像
或强>
您可以采用不同的方式重新设计网格: - 而不是使用图像字段列,您可以使用这样的模板列: 代码:
<asp:TemplateField>
<ItemTemplate>
<asp:Image runat="server" ID="myImg"
ImageUrl='<%# GetImageUrl(Eval(col2) as string) %>' />
</ItemTemplate>
</asp:TemplateField>
然后在你的代码后面,你创建了一个函数来返回正确的图像url: 码: 更新了Ans
//Send Image name from database (DataGrid) as dbImgURL
protected string GetImageUrl(string dbImgURL)
{
if (File.Exists(dbImgURL))
{
return dbImgURL;
}
else
{
return "Green.gif";
}
}