日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

简单的ASP.NET无刷新分页

發(fā)布時(shí)間:2023/12/10 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简单的ASP.NET无刷新分页 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、新建一個(gè)分頁(yè)存儲(chǔ)過(guò)程:

  • CREATE?procedure?[dbo].[P_Pager] ?
  • (@PageNumber?int, ?
  • @PageSize?int) ?
  • as?
  • ?declare?@sql?nvarchar(4000) ?
  • ????set?@sql?=?'select?top?'?+?Convert(varchar,?@PageSize)???+?'?*?from?T_Test?where?[type]=1?and?id?not?in?(select?top?'?+?Convert(varchar,?(@PageNumber?-?1)?*?@PageSize)??+?'?id?from?T_Test?order?by?id?desc)?order?by?id?desc'?
  • ?exec?sp_executesql?@sql ?
  • GO?
  •  2、設(shè)置Ajax控件

    想要實(shí)現(xiàn)無(wú)刷新,肯定會(huì)用到Ajax,首先是要放入必不可少的:

  • <asp:ScriptManager?ID="ScriptManager1"?runat="server"> ?
  • </asp:ScriptManager>?
  • 接著把Repeater控件嵌入到UpdatePanel里面去:

  • <asp:UpdatePanel?ID="UpdatePanel1"?runat="server"> ?
  • ???????????<ContentTemplate> ?
  • ???????????????????<ul> ?
  • ???????????????????????<asp:Repeater?ID="Repeater1"?runat="server"> ?
  • ???????????????????????????<ItemTemplate> ?
  • ???????????????????????????????<li> ?
  • ???????????????????????????????????<p> ?
  • ???????????????????????????????????????<span><%#Eval("username")?%>:</span><%#Eval("content").ToString()))?%></p> ?
  • ???????????????????????????????????<p> ?
  • ???????????????????????????????????????<em>發(fā)表時(shí)間: ?
  • ???????????????????????????????????????????<%#Eval("addtime")?%> ?
  • ???????????????????????????????????????</em> ?
  • ???????????????????????????????????</p> ?
  • ???????????????????????????????</li> ?
  • ???????????????????????????</ItemTemplate> ?
  • ???????????????????????</asp:Repeater> ?
  • ???????????????????</ul> ?
  • ???????????????????<p> ?
  • ???????????????????????????總記錄:<asp:Literal?ID="ltlCount"?runat="server"></asp:Literal></p> ?
  • ???????????????????????<p> ?
  • ???????????????????????????<webdiyer:AspNetPager?ID="AspNetPager1"?runat="server"?AlwaysShow="true"?PageIndexBoxType="DropDownList"?> ?
  • ???????????????????????????</webdiyer:AspNetPager> ?
  • ???????????????????????</p> ?
  • ???????????????????</div> ?
  • ???????????</ContentTemplate> ?
  • ???????</asp:UpdatePanel>?
  • 3、AspNetPager分頁(yè)控件

    可以看到以上的代碼有個(gè)分頁(yè)控件,我相信這個(gè)分頁(yè)控件大家都不陌生了,我就不多介紹。必須有AspNetPager.dll,然后在項(xiàng)目中引用,在頭部引入這一段代碼:

  • <%@?Register?Assembly="AspNetPager"?Namespace="Wuqi.Webdiyer"?TagPrefix="webdiyer"?%>?
  • 這時(shí)候分頁(yè)控件應(yīng)該就可以使用了。最后在后臺(tái)綁定一下數(shù)據(jù),同時(shí)也要綁定AspNetPager控件,完整的后臺(tái)代碼如下:

  • using?System; ?
  • using?System.Collections.Generic; ?
  • using?System.Web; ?
  • using?System.Web.UI; ?
  • using?System.Web.UI.WebControls; ?
  • using?System.Data; ?
  • using?Wuqi.Webdiyer; ?
  • using?System.Data.SqlClient; ?
  • ? ?
  • public?partial?class?AjaxPager?:?System.Web.UI.Page ?
  • { ?
  • ????int?currentPageNumber;//當(dāng)前頁(yè)號(hào)? ?
  • ????int?pageSize?=?5;//每頁(yè)顯示記錄條數(shù) ?
  • ????protected?void?Page_Load(object?sender,?EventArgs?e) ?
  • ????{ ?
  • ????????if?(!IsPostBack) ?
  • ????????{ ?
  • ????????????currentPageNumber?=?1; ?
  • ????????????ViewState["currentPageNumber"]?=?currentPageNumber; ?
  • ????????????BindData(); ?
  • ????????} ?
  • ????????AspNetPager1.PageChanged?+=?new?EventHandler(AspNetPager1_PageChanged);??//定義控件分頁(yè)事件 ?
  • ????} ?
  • ? ?
  • ????//獲取記錄總數(shù) ?
  • ????private?int?GetCount() ?
  • ????{ ?
  • ????????string?sql?=?"select?COUNT(*)?from?T_Test"; ?
  • ????????DataTable?dt?=?GetTable(sql,?CommandType.Text,?values); ?
  • ????????if?(dt.Rows.Count?>?0) ?
  • ????????{ ?
  • ????????????return?Convert.ToInt32(dt.Rows[0][0]); ?
  • ????????} ?
  • ????????else?
  • ????????{ ?
  • ????????????return?0; ?
  • ????????} ?
  • ????} ?
  • ????? ?
  • ????//綁定數(shù)據(jù) ?
  • ????private?void?BindData() ?
  • ????{ ?
  • ????????ltlCount.Text?=?GetCount().ToString(); ?
  • ????????currentPageNumber?=?Convert.ToInt32(ViewState["currentPageNumber"]); ?
  • ????????SqlParameter[]?values?=?{?new?SqlParameter("@PageNumber",?currentPageNumber),?new?SqlParameter("@PageSize",?pageSize)?}; ?
  • ????????? ?
  • ????????DataTable?dt?=?GetTable("P_Pager",?CommandType.StoredProcedure,?values);??//調(diào)用存儲(chǔ)過(guò)程 ?
  • ????????if?(dt.Rows.Count?>?0) ?
  • ????????{ ?
  • ????????????AspNetPager1.PageSize?=?pageSize; ?
  • ????????????AspNetPager1.RecordCount?=?GetCount(); ?
  • ????????????AspNetPager1.CurrentPageIndex?=?currentPageNumber; ?
  • ????????????this.Repeater1.DataSource?=?dt.DefaultView; ?
  • ????????????this.Repeater1.DataBind(); ?
  • ????????} ?
  • ????} ?
  • ? ?
  • ????//分頁(yè)事件? ?
  • ????void?AspNetPager1_PageChanged(object?sender,?EventArgs?e) ?
  • ????{ ?
  • ????????currentPageNumber?=?AspNetPager1.CurrentPageIndex; ?
  • ????????ViewState["currentPageNumber"]?=?currentPageNumber; ?
  • ????????BindData(); ?
  • ????} ?
  • ????? ?
  • ?????//?讀取存儲(chǔ)過(guò)程返回table ?
  • ????private?DataTable?GetTable(string?sql,?CommandType?t,?params?SqlParameter[]?values) ?
  • ????{ ?
  • ????????using?(SqlConnection?conn?=?new?SqlConnection("Data?Source=127.0.0.1;Initial?Catalog=testDB;Persist?Security?Info=True;User?ID=sa;Password=123456")) ?
  • ????????{ ?
  • ????????????SqlCommand?comm?=?new?SqlCommand(sql,?conn); ?
  • ????????????comm.CommandType?=?t; ?
  • ????????????if?(values?!=?null?&&?values.Length?>?0) ?
  • ????????????????comm.Parameters.AddRange(values); ?
  • ????????????SqlDataAdapter?da?=?new?SqlDataAdapter(comm); ?
  • ????????????DataSet?ds?=?new?DataSet(); ?
  • ????????????try?
  • ????????????{ ?
  • ????????????????conn.Open(); ?
  • ????????????????da.Fill(ds); ?
  • ????????????????return?ds.Tables[0]; ?
  • ????????????} ?
  • ????????????catch?(Exception) ?
  • ????????????{ ?
  • ????????????????return?null; ?
  • ????????????} ?
  • ????????????finally?
  • ????????????{ ?
  • ????????????????conn.Close(); ?
  • ????????????????conn.Dispose(); ?
  • ????????????} ?
  • ????????} ?
  • ????} ?
  • }?
  • 轉(zhuǎn)載于:https://www.cnblogs.com/nianyuwen/archive/2012/06/29/2570537.html

    總結(jié)

    以上是生活随笔為你收集整理的简单的ASP.NET无刷新分页的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。