如何将二进制图像显示到图像框?

时间:2014-10-16 11:16:31

标签: c# asp.net image varbinary

我必须在我的网页上显示学生姓名和图像,同时从下拉列表中选择学生ID。图像以db二进制格式存储在db上。如何检索图像并在图像框上显示。下面给出的代码仅显示学生的名字和姓氏。如何显示图像?请帮帮我。

代码:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DataSet1TableAdapters.TextBoxTableTableAdapter tx;
        tx = new DataSet1TableAdapters.TextBoxTableTableAdapter();
        DataTable dt = new DataTable();
        dt = tx.GetstudData(int.Parse(DropDownList1.SelectedValue));

        foreach (DataRow row in dt.Rows)
        {
            TextBox1.Text = (row["FirstName"].ToString());
            TextBox2.Text = (row["SecondName"].ToString());
        }
    }

SQL查询:

SELECT FirstName, SecondName, StudentImage FROM TextBoxTable WHERE (Id = @Id)

Aspx来源:

<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Image ID="Image1" runat="server" />
</div>

数据库:

enter image description here

1 个答案:

答案 0 :(得分:2)

是的,这太棘手了。需要在单独的请求中检索图像,因此您需要创建一个处理程序,例如,可以根据Id返回图像数据。在此页面中,您只需将ImageUrl设置为正确的路径即可检索实际的图像数据。

处理程序(实际上只能是StudentImage.aspx或其他类似的页面)将从数据库中读取二进制数据,设置所需的响应头,并将数据写入输出,然后就完成了。