抱歉令人不安。我試圖在asp.net gridview中顯示選定的字段。我可以顯示除「product_img」之外的所有內容,我應該在gridview中顯示相關圖片。GridView無法顯示圖像
問題是在gridview中,當我將圖像控件的圖像url附加到代碼不起作用,因爲它給我空圖像/斷開的圖像鏈接。
是我的方法將dr.read上的路徑綁定到gridview中的imageURL錯誤? 我已經在頁面後面編輯了我的代碼,並將aspx頁面設計爲底部。
設計師頁面的代碼位於下方,向下滾動。謝謝。
protected void gvShowInsert_SelectedIndexChanged(object sender, EventArgs e)
{
SqlCommand cmd = new SqlCommand("SELECT product_cakeName, product_price,
product_qty,product_desc,product_img FROM Tbl_Products", conn);
conn.Open();
SqlDataReader dr;
dr = cmd.ExecuteReader();
if(dr.Read())
{
//Context.Response.BinaryWrite((byte[])dr[dr.GetOrdinal("product_img")]);
byte[] path = (byte[])dr["product_img"]; //read the path of image
}//imageControl.ImageUrl = path; //set the path to image control
gvShowInsert.DataSource = dr;
gvShowInsert.DataBind();
dr.Close();
conn.Close();
}
這是我設計的aspx:
<Columns>
<asp:TemplateField HeaderText="cake-name">
<ItemTemplate>
<asp:Label ID="lblHeaderName"
runat="server"Text='<%#Eval("product_cakeName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="price">
<ItemTemplate>
<asp:Label ID="lblHeaderPrice" runat="server" Text='<%#Eval("product_price")
%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="qty">
<ItemTemplate>
<asp:Label ID="lblHeaderQty" runat="server" Text='<%#Eval("product_qty") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="desc">
<ItemTemplate>
<asp:Label ID="lblHeaderDesc" runat="server" Text='<%#Eval("product_desc") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="img">
<ItemTemplate>
<asp:Image ID="imageControl" runat="server" ImageUrl='<%#"InsertProd.aspx.cs?path" %>' >
</asp:Image>
</ItemTemplate>
</asp:TemplateField>
</Columns>
圖像存儲在數據庫中,而不是在文件系統 – 2012-02-20 00:59:18
你需要一個處理器,這裏指:http://stackoverflow.com/questions/1738020/bytearray-to -image-asp-net – Ricketts 2012-02-20 01:10:35
謝謝你們!這個處理程序對於我來說是太多的信息了。因此,我會嘗試直接從DB分配值,如上所示。謝謝大家的幫助,非常感謝:D – jan 2012-02-20 04:45:35