gridview里放了<asp:Image>小的图片可以显示, 大图片显示不了,这是为什么呢?
我想在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="Remark" 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、确保大图片路径和名称正确,服务器上有这个文件;
2、是不是图片太大,下载需要一个过程
3、图片格式是不是支持 --------------------编程问答-------------------- 我也奇怪啊,小的图片都能显示的,路径肯定木有问题的,难得和图片的像素有关吗? --------------------编程问答-------------------- 还有人在用这么古老的东西,哎~你直接用repeater就可以了,html代码自己写了。 --------------------编程问答--------------------
因为有好多列数据要显示 --------------------编程问答-------------------- 不应该啊
LZ看看最后渲染出来的html源码中大图片的路径,把路径直接拷贝到浏览器地址栏中是否能够显示其图片 --------------------编程问答-------------------- 楼主有没有报什么错呢,多数情况下路径不对! --------------------编程问答-------------------- <asp:Image ID="image" runat="server" ImageUrl='<%#Eval("Image_url")%>' Width="100px" Height="100px"/>
改成
<img src="<%#Eval("Image_url")%>" width="100" height="100"/>
不行就看看图片地址对没?
再不行就看看配置文件是否限制输出文件大小 --------------------编程问答-------------------- 应该是图片格式问题,你可以用ps打开以下然后选择另存为web专用格式
试试看 --------------------编程问答-------------------- 看看网站加载完后的图片的路径,用ie调试工具看看没有显示出来的图片的路径!看看是不是你所希望的路径!!如果小图片可以大图片不可以,不是路径,就是格式不正确!!!
补充:.NET技术 , ASP.NET