从SQL Server在GridView中显示图像的速度较慢

时间:2018-07-16 12:05:58

标签: c# asp.net image performance gridview

嗨,我的代码如此平和。在我的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);
                        }}}}

0 个答案:

没有答案