2017-01-16 2 views
0

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

Я использую Bootstrap и не использую панель обновления.

См. Ссылку ниже. MySite(See Product Page On First Time And Click After 5 to 10 minute of idle time)

Мой 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> 

Я просто не получаю то, почему в первый раз он не будет загружать любые изображения.

мой 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 и использование интерфейса для подключения к базе данных.

Заранее спасибо.

+0

Идеальное время? Может быть, вы имеете в виду «простоя»? – Frank

+0

Ссылка, которую вы указали, дает: «Сейчас нет доступных продуктов». EnableViewState должен быть правдой. Что вы получаете в ImagePath? Что в «пути»? Может быть, может промахнуться между глобальным путем и путем? – Emanuele

+0

@ Emanuele, но когда вы нажимаете на ту же ссылку во второй раз, она получает нагрузку. Изображения .. –

ответ

0

EnableViewState="true"

и попытаться использовать

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

вместо

IMG и биркой с RUNAT = "сервер".

+0

Спасибо за ваш повтор .. Получил решение с нижеследующим решением. 1). Извлеките строку соединения из главной страницы Page_Load и сохраните ее в Master Page_Init. И измените управление html на управление asp. –

Смежные вопросы