2014-02-07 1 views
0

DataList выглядит следующим образом:ограничить строки данных в DataList и создают дополнительную нагрузку больше кнопки в нижней

<asp:DataList ID="DataListComments" runat="server" 
             DataKeyField="Pk_Comment_Id" DataSourceID="SqlDataSourceComments" Width="100%"> 
             <HeaderStyle BackColor="Gray" HorizontalAlign="Center" /> 
             <HeaderTemplate> 
              <asp:Label ID="Label1" runat="server" BackColor="Gray" 
               ForeColor="White" Text="Comments" Width="100%" /> 
             </HeaderTemplate> 
             <ItemTemplate> 
              <div class="CommentBox"> 
               <div class="CommentImage"> 
                <asp:HyperLink ID="HyperLink1" runat="server" 
                 NavigateUrl='<%# "Profile.aspx?uid=" + Eval("fk_User_Id")%>'> 
                 <asp:Image ID="imgUserC" runat="server" 
                  ImageUrl='<%# Eval("Profile_Pic") %>' CssClass="scaling-image" /> 
                </asp:HyperLink> 
               </div> 
               <div class="CommentInfo"> 
                <div class="CommentUsername"> 
                 <asp:HyperLink ID="linkUserProfile" runat="server" 
                  NavigateUrl='<%# "Profile.aspx?uid=" + Eval("fk_User_Id")%>'><%# Eval("Username") %></asp:HyperLink> 
                </div> 
                <div class="CommentDate">(<%# Eval("Date") %>)</div> 
                <div class="CommentDescription"><%# Eval("Description") %></div> 
               </div> 
              </div> 
             </ItemTemplate> 
            </asp:DataList> 

Теперь предположим, что имеется 24 записей для [комментарии] в базе данных ... Я хочу, чтобы показать только 3 здесь ... И добавьте кнопку загрузки больше в шаблон нижнего колонтитула, при нажатии этой загрузки должно появиться еще 5 комментариев.

Если есть возможное решение для этого с помощью ajax, у меня не было бы любая проблема с этим. Я просто нуждаюсь в рабочем решении для этого, так как я не знаю, как этого добиться.

ответ

1

Это довольно сложно, когда вы используете RUNAT серверные элементы управления, как GridView и DataList т.д.

Для достижения своей цели:

  1. Вам нужно создать веб-сервис
  2. Получить записи из базы данных по используя услугу и JavaScript
  3. Добавить результат внизу с помощью JavaScript

Это то, что вам нужно сделать, и многие другие проблемы начнутся, когда вы будете работать с элементами управления сервером.

+0

Спасибо за ответ. Не могли бы вы предложить, как я могу вызвать элементы из базы данных в следующем формате: Изначально: всего три строки, при загрузке больше нажмите пропустить эти 3 и принять следующие 3 ... Затем снова на клик пропустите 6 и выполните следующие 3 .. Это будет продолжаться до тех пор, пока не будут добавлены все строки, а затем скройте кнопку загрузки больше. Я предполагаю, что это может быть достигнуто с помощью skip() и take(). Но я использую linq, и я не уверен, как мне это сделать. Я в основном разрабатываю блок комментариев, и я не хочу сразу показывать все комментарии (такая же функция, как и в FB u). Любые предложения или идеи о наилучшем способе их выполнения? – vohrahul