0
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=PROMOD-PC;Initial Catalog=travel_Directions;Integrated Security=True";


DataTable dt = new DataTable();

String selQuery = "SELECT Image FROM MapDataImage WHERE Source='" + TextBox1.Text + "';";

SqlCommand SelCmmnd = new SqlCommand(selQuery);
SqlDataAdapter sDatAdp = new SqlDataAdapter();
SelCmmnd.CommandType = CommandType.Text;
SelCmmnd.Connection = con;

con.Open();

sDatAdp.SelectCommand = SelCmmnd;

sDatAdp.Fill(dt);
ListView1.DataSource = dt;
ListView1.DataBind();

con.Close();
sDatAdp.Dispose();
con.Dispose();
dt.Dispose();

伙计们现在代码已准备好...(执行时没有错误)但是当我单击按钮时...它将显示像 Image: System.Byte [].... 在列表视图中的标签代码中是否有任何问题?

这段代码错了吗?有人请帮帮我吗?要弄清楚这个…………

4

1 回答 1

0

您描述的行为听起来像是在 Image 对象上调用 .ToString() 。图像不是字符串,因此 .ToString() 方法将执行将类名和诸如 System.Byte[] 之类的属性写入标签的默认行为。Darren 在评论中的链接显示了如何将字节数组写入响应流,但如果您真的想将其保留为字符串并且图像大小很小,您也可以尝试使用 data:uri 格式的图像标签:

stackoverflow.com/questions/6826390/...

我会使用自定义 httphandler 来写入流,因为所有浏览器可能不支持数据 uri 格式并且有大小限制。但是,如果您只是为现代浏览器提供小图像,那么它可能适合您。

于 2013-07-04T15:42:00.277 回答