成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

簡(jiǎn)單的ASP.NET無(wú)刷新分頁(yè)

開(kāi)發(fā) 后端
前段時(shí)間做個(gè)留言板的功能,業(yè)務(wù)要求需要對(duì)留言列表的查看翻頁(yè)無(wú)刷新,所以做了以下的無(wú)刷新分頁(yè)功能,雖然比較簡(jiǎn)單,但是涉及到的知識(shí)面蠻多的,我記錄一下制作的步驟與心得,僅供參考。如有哪里不足,希望大家指出,有更好的方法,也可以提出來(lái),大家一起學(xué)習(xí)。

前段時(shí)間做個(gè)留言板的功能,業(yè)務(wù)要求需要對(duì)留言列表的查看翻頁(yè)無(wú)刷新,所以做了以下的無(wú)刷新分頁(yè)功能,雖然比較簡(jiǎn)單,但是涉及到的知識(shí)面蠻多的,我記錄一下制作的步驟與心得,僅供參考。如有哪里不足,希望大家指出,有更好的方法,也可以提出來(lái),大家一起學(xué)習(xí)。

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

  1. CREATE procedure [dbo].[P_Pager]  
  2. (@PageNumber int,  
  3. @PageSize int)  
  4. as 
  5.  declare @sql nvarchar(4000)  
  6.     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' 
  7.  exec sp_executesql @sql  
  8. GO 

 2、設(shè)置Ajax控件

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

  1. <asp:ScriptManager ID="ScriptManager1" runat="server">  
  2. </asp:ScriptManager> 

接著把Repeater控件嵌入到UpdatePanel里面去:

  1. <asp:UpdatePanel ID="UpdatePanel1" runat="server">  
  2.            <ContentTemplate>  
  3.                    <ul>  
  4.                        <asp:Repeater ID="Repeater1" runat="server">  
  5.                            <ItemTemplate>  
  6.                                <li>  
  7.                                    <p>  
  8.                                        <span><%#Eval("username") %>:</span><%#Eval("content").ToString())) %></p>  
  9.                                    <p>  
  10.                                        <em>發(fā)表時(shí)間:  
  11.                                            <%#Eval("addtime") %>  
  12.                                        </em>  
  13.                                    </p>  
  14.                                </li>  
  15.                            </ItemTemplate>  
  16.                        </asp:Repeater>  
  17.                    </ul>  
  18.                    <p>  
  19.                            總記錄:<asp:Literal ID="ltlCount" runat="server"></asp:Literal></p>  
  20.                        <p>  
  21.                            <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="true" PageIndexBoxType="DropDownList" >  
  22.                            </webdiyer:AspNetPager>  
  23.                        </p>  
  24.                    </div>  
  25.            </ContentTemplate>  
  26.        </asp:UpdatePanel> 

3、AspNetPager分頁(yè)控件

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

  1. <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %> 

這時(shí)候分頁(yè)控件應(yīng)該就可以使用了。***在后臺(tái)綁定一下數(shù)據(jù),同時(shí)也要綁定AspNetPager控件,完整的后臺(tái)代碼如下:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Web;  
  4. using System.Web.UI;  
  5. using System.Web.UI.WebControls;  
  6. using System.Data;  
  7. using Wuqi.Webdiyer;  
  8. using System.Data.SqlClient;  
  9.    
  10. public partial class AjaxPager : System.Web.UI.Page  
  11. {  
  12.     int currentPageNumber;//當(dāng)前頁(yè)號(hào)   
  13.     int pageSize = 5;//每頁(yè)顯示記錄條數(shù)  
  14.     protected void Page_Load(object sender, EventArgs e)  
  15.     {  
  16.         if (!IsPostBack)  
  17.         {  
  18.             currentPageNumber = 1;  
  19.             ViewState["currentPageNumber"] = currentPageNumber;  
  20.             BindData();  
  21.         }  
  22.         AspNetPager1.PageChanged += new EventHandler(AspNetPager1_PageChanged);  //定義控件分頁(yè)事件  
  23.     }  
  24.    
  25.     //獲取記錄總數(shù)  
  26.     private int GetCount()  
  27.     {  
  28.         string sql = "select COUNT(*) from T_Test";  
  29.         DataTable dt = GetTable(sql, CommandType.Text, values);  
  30.         if (dt.Rows.Count > 0)  
  31.         {  
  32.             return Convert.ToInt32(dt.Rows[0][0]);  
  33.         }  
  34.         else 
  35.         {  
  36.             return 0;  
  37.         }  
  38.     }  
  39.        
  40.     //綁定數(shù)據(jù)  
  41.     private void BindData()  
  42.     {  
  43.         ltlCount.Text = GetCount().ToString();  
  44.         currentPageNumber = Convert.ToInt32(ViewState["currentPageNumber"]);  
  45.         SqlParameter[] values = { new SqlParameter("@PageNumber", currentPageNumber), new SqlParameter("@PageSize", pageSize) };  
  46.            
  47.         DataTable dt = GetTable("P_Pager", CommandType.StoredProcedure, values);  //調(diào)用存儲(chǔ)過(guò)程  
  48.         if (dt.Rows.Count > 0)  
  49.         {  
  50.             AspNetPager1.PageSize = pageSize;  
  51.             AspNetPager1.RecordCount = GetCount();  
  52.             AspNetPager1.CurrentPageIndex = currentPageNumber;  
  53.             this.Repeater1.DataSource = dt.DefaultView;  
  54.             this.Repeater1.DataBind();  
  55.         }  
  56.     }  
  57.    
  58.     //分頁(yè)事件   
  59.     void AspNetPager1_PageChanged(object sender, EventArgs e)  
  60.     {  
  61.         currentPageNumber = AspNetPager1.CurrentPageIndex;  
  62.         ViewState["currentPageNumber"] = currentPageNumber;  
  63.         BindData();  
  64.     }  
  65.        
  66.      // 讀取存儲(chǔ)過(guò)程返回table  
  67.     private DataTable GetTable(string sql, CommandType t, params SqlParameter[] values)  
  68.     {  
  69.         using (SqlConnection conn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=testDB;Persist Security Info=True;User ID=sa;Password=123456"))  
  70.         {  
  71.             SqlCommand comm = new SqlCommand(sql, conn);  
  72.             comm.CommandType = t;  
  73.             if (values != null && values.Length > 0)  
  74.                 comm.Parameters.AddRange(values);  
  75.             SqlDataAdapter da = new SqlDataAdapter(comm);  
  76.             DataSet ds = new DataSet();  
  77.             try 
  78.             {  
  79.                 conn.Open();  
  80.                 da.Fill(ds);  
  81.                 return ds.Tables[0];  
  82.             }  
  83.             catch (Exception)  
  84.             {  
  85.                 return null;  
  86.             }  
  87.             finally 
  88.             {  
  89.                 conn.Close();  
  90.                 conn.Dispose();  
  91.             }  
  92.         }  
  93.     }  

至此,基本大功告成,雖然比較簡(jiǎn)單,但是涉及到存儲(chǔ)過(guò)程,Ajax,分頁(yè)控件等知識(shí)點(diǎn),還是蠻值得收藏和學(xué)習(xí)的,希望我的這篇文章是拋磚引玉,讓大家提供更好的方法,才是我學(xué)習(xí)的動(dòng)力。求知若饑,虛心若愚。

原文鏈接:http://www.cnblogs.com/yangyy753/archive/2012/04/12/2444411.html

【編輯推薦】

  1. ASP.NET顯示漸變圖片
  2. 詳細(xì)解讀ASP.NET的異步
  3. ASP.NET MVC3 從零開(kāi)始一步步構(gòu)建Web
  4. ASP.NET頁(yè)面優(yōu)化:性能提升8倍的方法
  5. 另類的ASP.NET快速開(kāi)發(fā)架構(gòu)體系
責(zé)任編輯:林師授 來(lái)源: 會(huì)編程的羊的博客
相關(guān)推薦

2009-07-28 14:47:18

ASP.NET MVC

2010-03-19 09:17:16

ASP.NET MVC

2010-08-02 09:18:39

ASP.NET MVC

2009-11-06 09:23:41

ASP.NET高效分頁(yè)

2009-09-10 09:50:47

ASP.NET MVC

2009-07-30 14:32:18

ASP.NET常用代碼

2009-07-29 11:18:21

ASP.NET連接My

2009-07-30 14:26:30

ASP.NET常用代碼

2012-04-23 15:10:18

ASP.NET

2009-07-22 16:02:39

ASP.NET MVCPagedList

2009-08-12 18:19:46

ASP.NET報(bào)表打印

2009-08-12 14:10:37

asp.net分頁(yè)代碼

2009-08-04 14:23:36

ASP.NET查詢分頁(yè)

2011-06-28 15:14:10

ASP.NET性能優(yōu)化

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-31 08:56:59

ASP.NET頁(yè)面刷新

2009-07-22 17:45:35

ASP.NET教程

2009-08-14 13:20:29

ASP.NET Gri

2009-07-28 13:20:38

ASP.NET筆試題
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 一区二区三区视频在线免费观看 | 国产精品一区二区三级 | 人人射人人 | 韩国主播午夜大尺度福利 | 精品熟人一区二区三区四区 | 国产福利91精品一区二区三区 | 亚洲高清在线观看 | 欧美日韩成人 | 久久免费视频1 | 亚洲国产一区二区三区在线观看 | 日本不卡视频 | 国产精品视频久久久久 | 精品久久久久久久人人人人传媒 | 欧美视频三区 | 欧美综合视频 | 亚洲高清视频在线 | 亚洲精品www | 亚洲成网 | 91久久| 中文字幕av高清 | 久久久久久久久91 | 国产精品a免费一区久久电影 | 狠狠艹 | 天堂av影院 | 亚洲第一色站 | 成人高清网站 | 亚洲激情在线 | 亚洲高清在线观看 | 日本一区二区三区四区 | 国产剧情一区二区三区 | 国产成人精品久久 | 欧美午夜精品 | 91精品国产高清久久久久久久久 | 在线视频亚洲 | 国产乱码精品一区二区三区忘忧草 | 久久久久久99 | 中文字幕在线播放第一页 | 久久久久久国产精品免费免费狐狸 | 久久99精品久久久久久狂牛 | 欧美视频免费在线 | 日韩精品久久一区 |