【问题标题】:Display image in grid view saved on the server在服务器上保存的网格视图中显示图像
【发布时间】:2011-11-01 03:28:47
【问题描述】:

我有一个网格视图,我想在其中显示图像。我将图像存储在服务器上,路径存储在数据库中。路径是“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";
 }

请帮我指出我的错误。

【问题讨论】:

  • “图像在 gridview 中不可见”是什么意思?您是否看到表示未找到该图像的红叉?如果是,请检查图片的路径是否正确。
  • @Tim Schmelter。在我的网格中,图像字段的符号可见,但该字段上没有图像。我正在通过文件上传获取存储在数据库中的相同路径,所以该路径可能是错误的..

标签: c# asp.net image gridview


【解决方案1】:

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

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

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

【讨论】:

  • 阿哈特尔。如何存储您建议的路径。我存储的路径类似于 string path = Server.MapPath("~") + "\\Images\\Upload\\FilePath";
  • 您可以使用它在物理位置存储图像。但是当您尝试保存图像时,请使用类似.. "~\\Images\\Upload\\FilePath" 的路径
  • 我的意思是生成不同的路径来存储在物理位置和存储在数据库中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多