我想在gridview里的一列绑定图片,并统一显示相同的大小,Width="100px",Height="100px"。
上传了一张小图片可以显示,大的图片就显示不了,请大家帮忙解决,thanks.
不废话了,直接贴代码:
1.aspx
<asp:GridView ID="gv_Data"   runat="server" 
 AutoGenerateColumns="False" BackColor="#CCCCCC" 
 BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="3" 
 ForeColor="Black"  Font-Size="12pt">
  <Columns>
<asp:BoundField DataField="st_ID" HeaderText="ID"   />
  <asp:BoundField DataField="Pro_Name" HeaderText="产品名称"   />
  <asp:BoundField DataField="Pro_Type" HeaderText="规格型号"  />
  <asp:BoundField DataField="Sap_NO" HeaderText="Sap料号"  />
  <asp:BoundField DataField="Amount" HeaderText="数量"   />
  <asp:BoundField DataField="Unit" HeaderText="单位"  />
  <asp:BoundField DataField="Location" HeaderText="库位"   />
   <asp:BoundField DataField="NoTaxPrice" HeaderText="未税单价"   />
   <asp:BoundField DataField="Re" HeaderText="备注"   />
   <asp:TemplateField HeaderText="图片">
   <ItemTemplate>
   <asp:Image ID="image" runat="server"  ImageUrl='<%#Eval("Image_url")%>' Width="100px" Height="100px"/>
 </ItemTemplate>
   </asp:TemplateField>
  </Columns>
 </asp:GridView>2. .cs        string conn = ConfigurationManager.ConnectionStrings["connectionstring1"].ToString();
        SqlConnection cn = new SqlConnection(conn);
        string sqlStr = "select * from Storage where st_ID is not null ";        string strWhere = "";
        
        if(ddl_ProName.SelectedIndex !=0)
        {
            strWhere += " and pro_name=N'" + ddl_ProName.SelectedValue+"'";
        }
        if (txtKeyWord.Text.ToString().Trim() != "请输入关键字")
        {
            string keyword  =txtKeyWord.Text.ToString().Trim() ;
            strWhere += "  and (Pro_Name like N'%" + keyword + "%' or Pro_Type like N'%" + keyword + "%' or Sap_NO like N'%" + keyword + "%' or Location like N'%" + keyword + "%'  )";
        }        sqlStr += strWhere;        ViewState["sql"] = sqlStr;        DataTable tmpDataTable = new DataTable();
        SqlDataAdapter myCommand = new SqlDataAdapter(sqlStr, cn);        if (ddl_ProName.SelectedIndex != 0)
        {
            myCommand.SelectCommand.Parameters.AddWithValue("@pro_name", ddl_ProName.SelectedValue);
        }
        if (txtKeyWord.Text.ToString().Trim() != "请输入关键字")
        {
            myCommand.SelectCommand.Parameters.AddWithValue("@KeyWord", txtKeyWord.Text.Trim());
        }
        DataSet ds = new DataSet();       
        try
        {
            cn.Open();
            myCommand.Fill(ds, "Storage");
            gv_Data.DataSource = ds.Tables["Storage"];
            gv_Data.DataBind();
            gv_Data.Visible = true;            btn_excel.Visible = true;
        }        catch (Exception err)
        {        }
        finally
        {
            cn.Close();
        }

解决方案 »

  1.   

    还有人在用这么古老的东西,哎~你直接用repeater就可以了,html代码自己写了。
      

  2.   

    不应该啊LZ看看最后渲染出来的html源码中大图片的路径,把路径直接拷贝到浏览器地址栏中是否能够显示其图片
      

  3.   

    <asp:Image ID="image" runat="server"  ImageUrl='<%#Eval("Image_url")%>' Width="100px" Height="100px"/>
    改成
    <img src="<%#Eval("Image_url")%>" width="100" height="100"/>
    不行就看看图片地址对没?
    再不行就看看配置文件是否限制输出文件大小
      

  4.   

    应该是图片格式问题,你可以用ps打开以下然后选择另存为web专用格式
    试试看