欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET使用ajax实现分页局部刷新页面功能

程序员文章站 2023-08-15 11:35:35
  listview列表实现分页是非常容易的。listview分页是非常简单的,加上一个datapager控件,把listview的id赋予就可以了。最开始我就是...

  listview列表实现分页是非常容易的。listview分页是非常简单的,加上一个datapager控件,把listview的id赋予就可以了。最开始我就是这么写的。(网上有人说这样是伪分页?)

<asp:listview id="newblogitems" runat="server" datasourceid="accessdatasource1" viewstatemode="disabled">
       <itemtemplate>
            <li class="newblogitem">
             .....
             </li>
        </itemtemplate>
 </asp:listview>
<asp:datapager id="datapager1" runat="server" pagesize="15" pagedcontrolid="newblogitems" viewstatemode="disabled">
   <fields>
        <asp:nextpreviouspagerfield buttontype="link" showfirstpagebutton="true" shownextpagebutton="false" showpreviouspagebutton="false" />
        <asp:numericpagerfield />
         <asp:nextpreviouspagerfield buttontype="link" showlastpagebutton="true" shownextpagebutton="false" showpreviouspagebutton="false" />
    </fields>
</asp:datapager>

    然而这样写完,点击分页的效果是刷新整个页面,刷新后页面跳来跳去当然是不友好的,所以要局部更新页面,最开始就想到了jquery插件,于是在网上下载了jpages这个插件,摆弄了半天也没弄成,也不知道哪里有错误。。。于是弃坑了,还是ajax吧!。

   使用ajax方法就很简单拉,把大象装冰箱总共分三步。

1.引入ajax控件scriptmanager,放在form里。

2.引入ajax控件updatepanel。

3.编辑updatepanel内容。

   主要是两个,contenttemplate和trigger。先把listview扔contenttemplate里面。然后在trigger里面加入asp:asyncpostbacktrigger,将id指向之前的分页控件datapager控件,这样就可以了。代码如下:

<asp:updatepanel runat="server">
  <contenttemplate>
  <%--数据源--%>
<asp:accessdatasource id="accessdatasource1" runat="server" datafile="c:\storage\users.accdb" selectcommand="select [username], [blogtitle], [blogtime], [blogurl],[statis] from [blog] order by [blogtime] desc"></asp:accessdatasource>
<asp:listview id="newblogitems" runat="server" datasourceid="accessdatasource1" viewstatemode="disabled">
    <itemtemplate>
       <li class="newblogitem">
此处略去1000字
       </li>
     </itemtemplate>
</asp:listview>
<asp:datapager id="datapager1" runat="server" pagesize="15" pagedcontrolid="newblogitems" viewstatemode="disabled">
  <fields>
     <asp:nextpreviouspagerfield buttontype="link" showfirstpagebutton="true" shownextpagebutton="false" showpreviouspagebutton="false" />
     <asp:numericpagerfield />
     <asp:nextpreviouspagerfield buttontype="link" showlastpagebutton="true" shownextpagebutton="false" showpreviouspagebutton="false" />
  </fields>
 </asp:datapager>
</contenttemplate>

 <triggers>
      <asp:asyncpostbacktrigger controlid="datapager1"/>
 </triggers>
 </asp:updatepanel>

以上所述是小编给大家介绍的asp.net使用ajax实现分页局部刷新页面功能,希望对大家有所帮助