[置顶] 如何实现数据库中的图片在页面中显示

时间:2022-05-17 11:02:12
关于如何实现数据库中的图片在页面中显示的问题,我经过试验和查证,终于有结果了!首先需要说明下:无论你数据库建在哪里的,只要你引用的图片位置必须放在项目下的文件夹中(假设项目存放图片的文件夹为images),比如:数据库中的“image”项 设置为nvarchar,在添加数据时,image属性的数据填写路径为:images/1.jpg。
<asp:DataList ID="DataList1" runat="server" RepeatColumns="6" RepeatDirection="Horizontal">
       <ItemTemplate>
       <table border="0">
        <tr>
         <td>
         <img src='<%#DataBinder.Eval(Container.DataItem,"Product_image") %>' border="0" height="97" width="135" />
         </td>
         </tr>
        </table>
        </ItemTemplate>
</asp:DataList>

img src='<%#DataBinder.Eval(Container.DataItem,"Product_image") %>‘绑定图片。建立DBConn.cs,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
/// <summary>
///DBConn 的摘要说明
/// </summary>
public class DBConn
{
private String StrConn = string.Empty;
private SqlConnection con;
public DBConn()
{
GetConn();
}

private SqlConnection GetConn()
{
StrConn = ConfigurationManager.ConnectionStrings["DBProductConn"].ConnectionString;//连接字符串为DBProductConn
con = new SqlConnection(StrConn);
return con;
}
public DataSet Getds()
{
SqlConnection con =GetConn();
SqlDataAdapter sda = new SqlDataAdapter("select * from tb_Product", con);//tb_Product为数据库中的表
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}


完成了初始化数据库连接后,在Default.aspx后台代码Default.aspx.cs中实例化:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataBindDS();
}
}
private void DataBindDS()
{
DBConn DB = new DBConn();
DataSet ds = DB.Getds();
DataList1.DataSource = ds.Tables[0].DefaultView;
DataList1.DataBind();
}
}