2015-03-24 4 views
1

У меня есть gridview ASP.net с загрузочным стилем 3 стиля и его внутри панели обновления. Когда я привязываю сетку, загрузка занимает не более минуты, но фактический SP занимает всего 3 секунды для загрузки данных. Есть ли способ, которым я мог ускорив DataBindУскорение работы Asp.net gridview databind

C#

DataSet ds = GetSearchResults(grdattendee_search.PageIndex); 
Session["attendee"] = ds.Tables[0]; 
grdattendee_search.DataSource = ds.Tables[0]; 
grdattendee_search.DataBind(); 


protected void grdattendee_search_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    grdattendee_search.PageIndex = e.NewPageIndex; 
    if (Session["attendee"] != null) 
    { 
     grdattendee_search.DataSource = Session["attendee"]; 
     grdattendee_search.DataBind(); 
    } 
    else 
    bindgrid(); 
} 

Aspx

<asp:GridView ID="grdattendee_search" runat="server" AllowPaging="true" PageSize="10" 
         AutoGenerateColumns="false" CssClass="table table-hover" DataKeyNames="ID" 
         GridLines="Horizontal" BorderStyle="None" PagerStyle-CssClass="bs-pagination" 
         OnRowCommand="grdattendee_search_RowCommand" OnPageIndexChanging="grdattendee_search_PageIndexChanging"> 
         <Columns> 
          <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" SortExpression="ID" 
           Visible="false" /> 
          <asp:TemplateField HeaderText="Name" SortExpression="Name"> 
           <ItemTemplate> 
            <%-- <asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("Name")%>'></asp:HyperLink>--%> 
            <asp:LinkButton ID="btn" runat="server" CommandName="select" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" 
             Text='<%# string.Concat(Eval("name_first"), " ", Eval("name_last"))%>'></asp:LinkButton> 
           </ItemTemplate> 
          </asp:TemplateField> 
          <asp:BoundField DataField="Degree" HeaderText="Degree" SortExpression="Degree" /> 
          <asp:BoundField DataField="specialty" HeaderText="Specialty" SortExpression="specialty" /> 
          <asp:BoundField DataField="city" HeaderText="City" SortExpression="city" /> 
          <asp:BoundField DataField="state" HeaderText="State" SortExpression="state" /> 
         </Columns> 
        </asp:GridView> 
+4

Вы можете показать свой код? –

+0

@CoderofCode Code Обновлено –

+0

Вы отлаживали вызов метода в своей базе данных и выяснили, сколько времени занимает? –

ответ

0

Выявление проблемы. Проблема не в привязке. Другой процесс загрузки страницы блокирует текущую привязку данных.

1

, если вы не используете Редактировать или удалить команды, то вы можете создать TempleteField и непосредственно Eval your DataMemeber Элемент вместо поля DataBound. это поможет ускорить привязку.

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