嗨,我的代码如此平和。在我的gridview的RowDataBound事件上调用它。我正在从sql数据源插入图像。但是,尤其是在IE上,带有图像的gridview的加载速度似乎非常慢,是否有某种方法可以减小通过SQL解析的图像的大小,从而减少加载时间。
我将只显示原始图像的较小图像,也许缩略图方法可以解决一些问题?
if (e.Row.RowType == DataControlRowType.DataRow)
{
int id = Convert.ToInt32(GridView1.DataKeys[e.Row.RowIndex].Values[0]);
System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)e.Row.FindControl("bigImage");
var dv = new DataView();
var dt = new DataTable();
SqlDataSource6.DataBind();
dv = SqlDataSource6.Select(DataSourceSelectArguments.Empty) as DataView;
dt = dv.ToTable();
byte[] imageBig = BitConverter.GetBytes(2345);
int EntryId;
for (int j = 0; j < dt.Rows.Count; j++)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
imageBig = (byte[])dt.Rows[j].ItemArray[4];
EntryId = (int)dt.Rows[j].ItemArray[3];
if (EntryId == id)
{
img.ImageUrl = "data:image/jpg;base64," + Convert.ToBase64String(imageBig);
}}}}