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实现分页局部刷新页面功能,希望对大家有所帮助