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 [] ....这样的标签
代码中有问题吗?
这段代码错了吗? 有人请帮帮我?弄清楚............
答案 0 :(得分:0)
您描述的行为听起来就像是在Image对象上调用.ToString()。图像不是字符串,因此.ToString()方法将执行将类名称和System.Byte []等属性写入标签的默认行为。 Darren在评论中的链接显示了如何将一个字节数组写入响应流,但如果你真的想要保持字符串并且图像大小很小,你也可以尝试使用数据:图像标签的uri格式: / p>
stackoverflow.com/questions/6826390/...
我会使用自定义httphandler来写入流,因为所有浏览器可能都不支持数据uri格式并且有大小限制。但是,如果您只是向现代浏览器提供小图像,那么它可能适合您。