使用数据库

时间:2017-07-22 03:44:10

标签: c# asp.net image webforms datalist

我在尝试从数据库中显示DataList中的图像时遇到问题,并且可以访问我从中提取图像的数据库。但是当我运行WebForm图像时没有出现,我的代码出了什么问题?

<asp:DataList ID="DataList1" runat="server" DataKeyField="dishID" DataSourceID="SqlDataSource1" BorderStyle="Solid" GridLines="Both" RepeatColumns="4" RepeatDirection="Horizontal" Width="1259px" >
    <ItemTemplate>
        <table class="auto-style1">
            <tr><td>
                <asp:Image ID="Image1" runat="server" ImageUrl='<%# "FoodPictures/" + Eval("dishImage") %>' />

这就是我从数据库中检索的方式:

 protected void Page_Load(object sender, EventArgs e)
{
    SqlConnection conn = new SqlConnection(_connStr);
    conn.Open();
    SqlCommand cmd = conn.CreateCommand();
    cmd.CommandType = CommandType.Text;
    cmd.CommandText = "select * from Dish";
    DataTable dt = new DataTable();
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    da.Fill(dt);

    conn.Close();

    DataList1.DataSource = dt;
    DataList1.DataBind();
    conn.Close();

}

2 个答案:

答案 0 :(得分:0)

我觉得你的页面没有正确的路径...... 使用

  <asp:Image ID="Image1" runat="server" ImageUrl='<%# "../FoodPictures/" + Eval("dishImage") %>' />

或者

<asp:Image ID="Image1" runat="server" ImageUrl='<%# "~/FoodPictures/" + Eval("dishImage") %>' />

试试这个..

答案 1 :(得分:0)

假设dishImage是一个存储在数据库中的imagename.jpg之类的名称,请尝试Convert.ToString(Eval("dishImage")),如:

<asp:Image ID="Image1" ImageUrl='<% # "~/FoodPictures/" + Convert.ToString(Eval("dishImage")) %>' runat="server" />