问一下:在ASP.NET 2.0 中GridView 为什么不显示数据类型为image 的列,怎样能让它显示出来?

解决方案 »

  1.   

    数据类型为image  你要让他显示什么?
    图像?路径?名称?
      

  2.   

    哦,我是绑定的sql中northwinds的Categories表
      

  3.   

    首先  sql中存图片 不合适  最好只村名称
    然后在服务器中找名字匹配的图
      

  4.   

    那是sql2005 系统自带的数据,不是我自己做的
      

  5.   

    northwinds中的一个表,包含的一个image列
      

  6.   

    但在dataGridView能显示这么一列
      

  7.   

    1 建个ShowImage.aspx,在代码里加入:
        protected void Page_Load(object sender, EventArgs e)
        {
            string strProductID = Request.QueryString["ID"];
            SqlConnection myConnection = new SqlConnection(你的连接字串);
            SqlCommand myCommand = new SqlCommand(你的SELECT那个Image的语句, myConnection);        myConnection.Open();
            byte[] bytes = (byte[])myCommand.ExecuteScalar();
            Response.Clear();
            Response.BinaryWrite(bytes);
            myConnection.Close();
            Response.End();
        }
    2 GridView里建个模板列,拖个Image上去,把ImageUrl绑定成<%# Eval("ID", "~/ShowImage.aspx?ID={0}") %>类似这样子,ID就是你那个表的主键。OK了
      

  8.   

    "GridView里建个模板列",是在它的columns属性里添加一个“ImageField”的可用字段吗?
      

  9.   

    推荐使用TemplateField,加个Image控件上去,这样就可以设置Image的大小用ImageField的话,是绑定DataImageUrlField="ID"和DataImageUrlFormatString="~/ShowImage.aspx?ID={0}",显示出的图像大小就是存储在数据库中的Image大小