【发布时间】:2014-12-12 16:27:19
【问题描述】:
您好,我必须在从下拉列表中选择学生 ID 时在图像框上显示学生图像。图像以二进制格式存储在 db 中。我想在不使用通用 http 处理程序的情况下显示图像。使用下面给出的代码生成一个错误。错误是“无法将类型字符串转换为字节 []”。请帮帮我。
代码:
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());
byte[] barrImg = (byte[])(row["StudImage"].ToString());
string base64String = Convert.ToBase64String(barrImg , 0, barrImg.Length);
Image1.ImageUrl = "data:image/png;base64," + base64String;
}
}
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>
数据库:
【问题讨论】:
-
错误信息说明了一切,您不能将字符串转换为字节数组。