-2

我在 gridview 下面有一个与用户 ID 号链接的图像字段。如果图片不存在于旧的特定字段中以获得标准的备用图片,我该怎么办?

                <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";
        }
    }
4

1 回答 1

-1

好吧,您可以检查 GridView 的 onRowDataBound 事件中的图像路径,如果文件不存在,则将其更改为普通图像。使用 System.IO;

if (File.Exists(path)) 
                {
                    Console.WriteLine("file exists");
                }

else //找到控件并绑定到普通图片

或者

您可以以不同的方式重新设计您的网格:- 您可以使用这样的模板列,而不是使用图像字段列:代码:

<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";
    }
}
于 2013-11-25T15:17:12.983 回答