После некоторого простоя изображения не загружаются из базы данных

Моя проблема заключается в том, когда я нажимаю на страницу продукта (в URL ниже). Он хорошо работает, но после некоторого простоя при первом щелчке по меню продукта он не будет загружать изображения продукта из базы данных для управления повторителем.

Я использую Bootstrap, а не update-panel.

Пожалуйста См. Ниже Ссылку.
MySite (смотрите страницу продукта на первый раз и нажмите после 5 до 10 минут простоя)

Мой ASP.net код является

<asp:Repeater ID="rptrProduct" runat="server">
                    <ItemTemplate>
                        <div class="portfolio-item col-xs-12 col-sm-4 col-md-3">
                            <div class="recent-work-wrap hovereffect">
                                <img id="dtimg1" runat="server" class="img-responsive imggray" src='<%#Eval("ImagePath")%>' alt="" style="height: 185px!Important;" />
                                <div class="overlay1">
                                    <div class="recent-work-inner">
                                        <a id="aimg2" runat="server" href='<%#Eval("ImagePath")%>' rel="prettyPhoto">
                                            <h2>
                                                <%#Eval("ProductName")%></h2>
                                        </a>
                                        <p>
                                            <a id="adtimg1" runat="server" class="preview" href='<%# string.Format("~/BMSubProduct.aspx?pro={0}", Eval("ProductId")) %>'>
                                                <i class="fa fa-eye"></i>View Products</a>
                                        </p>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </ItemTemplate>
                </asp:Repeater>

I am just not get that why on first time it won’t load any images.

мой код страницы c#

if(!Page.IsPostBack)
 {
      DataTable dt = DBMaster.getQueryDataTableSchema(query);
        if (dt.Rows.Count > 0)
        {
            string path = GlobalFunction.getPath(1);
            NoProducts.Visible = false;
            for (int i = 0; i < dt.Rows.Count; i++)
                dt.Rows[i]["ImagePath"] = path + Convert.ToString(dt.Rows[i] ["ImagePath"]);
            rptrProduct.DataSource = dt;
            rptrProduct.DataBind();
        }
        else
        {
            NoProducts.Visible = true;
            rptrProduct.DataSource = null;
            rptrProduct.DataBind();
        }
   }
   public static DataTable getQueryDataTableSchema(string query)
   {
    try
    {
        using (IDbConnection con = sq.Open())
        {
            IDbCommand cmd = con.CreateCommand();
            cmd.CommandText = query;
            IDbDataAdapter adp = sq.GetAdapter(cmd);
            DataSet ds = new DataSet();
            adp.FillSchema(ds, SchemaType.Source);
            adp.Fill(ds);
            con.Close();
            return ds.Tables[0];
        }
    }
    catch (Exception ex)
    {
        return new DataTable();
    }
}

и masterpage код в page_load

if (!Page.IsPostBack)
    {
        SQLString.Config = myconnectionString;
    }

Здесь NoProduct => No Products Are Available Right Now.

Я пробовал много вещей, как ниже:

  1. EnableViewState="true" И EnableViewState="false"оба для репитера и в странице также.

  2. Изменение строки подключения в web.config как

    name="SQLConStr" connectionString="Server=localhost;Database=databasename; Uid = username; Pwd = password; Pooling = false; Connection Timeout = 30"
    

Здесь пробовали С и без тайм-аута соединения и пула.

Примечание: использование MySQLбазы данных и использование интерфейса для открытия подключения к базе данных.

Спасибо заранее.

1 ответ

  1. EnableViewState="true"

    и попробуйте использовать

    <asp:Image и <asp:HyperLinkуправление

    вместо

    img и теги с runat= «server».