2011-08-22 33 views
1

我有一个网格视图,我想在其中显示图像。我将图像存储在服务器上,路径存储在数据库中。路径是“C:\ Inetpub \ wwwroot \ BISv01 \ Images \ Upload \ Chirag.jpg” 当我从数据库获取记录时,所有列都被抓取,但图像在gridview中不可见。下面是我的gridview的代码在网格视图中显示图像保存在服务器上

<asp:GridView ID="grdCurrency" runat="server" AllowPaging="True" AllowSorting="True" 
      AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" 
      GridLines="None" onrowcommand="grdCurrency_RowCommand"> 
      <AlternatingRowStyle BackColor="White" /> 
      <Columns> 
       <asp:BoundField DataField="CurrencyID" HeaderText="ID" /> 
       <asp:BoundField DataField="CurrencyName" HeaderText="Currency" /> 
       <%--<asp:BoundField DataField="" HeaderText="Logo" />--%> 

       <asp:ImageField DataImageUrlField="CurrencyLogo" HeaderText="Currency Logo"> 
       </asp:ImageField> 
       <asp:TemplateField> 
        <ItemTemplate> 
         <asp:Button ID="btnEdit" runat="server" Text="Edit" 
          CommandArgument='<%# Eval("CurrencyID") %>' /> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
      <EditRowStyle BackColor="#2461BF" /> 
      <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
      <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> 
      <RowStyle BackColor="#EFF3FB" /> 
      <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 
      <SortedAscendingCellStyle BackColor="#F5F7FB" /> 
      <SortedAscendingHeaderStyle BackColor="#6D95E1" /> 
      <SortedDescendingCellStyle BackColor="#E9EBEF" /> 
      <SortedDescendingHeaderStyle BackColor="#4870BE" /> 
     </asp:GridView> 

//下面是填充gridview的代码。

DataTable dtCurrency = null; 
dtCurrency=oCurrency.GetAllCurrency(); 
if (dtCurrency != null && dtCurrency.Rows.Count > 0) 
{ 
    grdCurrency.DataSource = dtCurrency; 
    grdCurrency.DataBind(); 
    grdCurrency.Columns[0].Visible = false; 
    lblGrdCount.Text = "Total ["+grdCurrency.Rows.Count+"] records found"; 
} 

请帮我指出我的错误。

+0

你是什么意思“图像不可见在gridview”?你看到表示图像没有找到的红十字?如果是,请检查图像的路径是否正确。 –

+0

@Tim Schmelter。在我的网格中,图像字段的符号是可见的,但在该字段上没有图像。我正在通过文件上传获取我存储在数据库中的相同路径,以便如何确定路径可能是错误的.. –

回答

1

首先不存储完整的图像路径。您必须在数据库中存储像.. '~/Images/Upload/Chirag.jpg'这样的图像路径。

然后这将允许您显示图像。例如

<asp:TemplateField> 
     <ItemTemplate> 
      <asp:Image ImageUrl='<%#Eval("CurrencyLogo") %>' ID="Image1" runat="server" /> 
     </ItemTemplate> 
</asp:TemplateField> 
+0

Akhatr。如何存储你建议的路径。我正在存储路径,如字符串path = Server.MapPath(“〜”)+“\\ Images \\ Upload \\ FilePath”; –

+0

您可以使用它来在物理位置上存储图像。但是当你尝试保存图像,然后使用像..“〜\\ Images \\ Upload \\ FilePath” –

+0

我的意思是生成不同的路径存储在物理位置和存储在数据库中。 –