Извините за беспокойство. Im пытается отобразить выбранные поля в gridview asp.net. я могу отображать все, кроме «product_img», где я должен отображать соответствующее изображение в gridview.GridView не может отображать изображение
Проблема в gridview, когда я подключил изображение URL-адреса управления изображением к коду-'<%#"InsertProd.aspx.cs?path" %>'
не работает, поскольку он дает мне нулевые изображения/неработающее изображение.
- это мой метод привязки пути к dr.read к изображениюURL в gridview неправильно? Я отредактировал свой код за страницей, как показано ниже, и создадим страницу 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>
Изображения сохраняются в базе данных, а не в файловой системе –
Вам нужен обработчик см здесь: http://stackoverflow.com/questions/1738020/bytearray-to -image-asp-net – Ricketts
спасибо, ребята! обработчик слишком много информации для меня, чтобы попробовать. таким образом, я попытаюсь присвоить значение прямо из БД, как было предложено выше. Спасибо всем за помощь, очень благодарен: D – jan