天天看點

ASPNETPager常用屬性(近來用到分頁屬性)

ASPNETPager常用屬性

建議去封裝好,然後調用這樣比較容易

<webdiyer:aspnetpager id="AspNetPager1" runat="server"

           alwaysshow="True"

           PageSize="5"

           custominfosectionwidth="20%"

           custominfotextalign="Right"

           firstpagetext="第一頁"

           horizontalalign="Left"

           lastpagetext="末一頁"

           navigationbuttontype="Image" 

           nextpagetext="後一頁"

           pageindexboxtype="TextBox"

           pagingbuttonspacing="8px"

           prevpagetext="前一頁"

           showcustominfosection="Right"

           showpageindexbox="Always"

           textafterpageindexbox="頁"

           UrlPaging="true"

           textbeforepageindexbox="跳到第"

           width="97%"

           onpagechanged="AspNetPager1_PageChanged">

    </webdiyer:aspnetpager>

alwaysshow:總是顯示分頁控件;

PageSize:指定每頁顯示的記錄數;

custominfosectionwidth:使用者自定義資訊區的寬度;

custominfotextalign:使用者自定義資訊區的對齊方式;

firstpagetext:第一頁按鈕上顯示的文本;

horizontalalign:内容水準對齊方式;

lastpagetext:最後頁按鈕上顯示的文本;

navigationbuttontype:第一頁、下一頁、最後一頁按鈕的類型;

nextpagetext:下一頁按鈕上顯示的文本;

pageindexboxtype:訓示頁索引框的顯示類型:有TextBOX和dropdownlist兩種;

pagingbuttonspacing:導航頁按鈕的間距;

prevpagetext:上一頁按鈕的顯示的文本;

showcustominfosection:顯示目前頁和總頁資訊,預設為不顯示,值為LEFT時将顯示在頁索引前,為right時顯示在頁索引後;

showpageindexbox:指定頁索引文本框或下拉框的顯示方式;

textafterpageindexbox:指定頁索引文本框或下拉框後的文本;

UrlPaging:是夠使用URL傳遞分頁的方式來分頁;

textbeforepageindexbox:指定頁索引文本框或下拉框前面顯示的文本;

width:該控件的寬度;

CustomInfoHTML:指定要顯示在使用者自定義資訊區的使用者自定義HTML資訊文本

using System;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        Bind();

    }

    private void Bind()

        int pageindex = 1;

        int pagenum = AspNetPager1.PageSize;

        if (Request["page"] != null)

        {

            pageindex =Convert.ToInt32(Request["page"]);

        }

        DataSet ds = new DataSet();

        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString ());

        SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());

        SqlDataAdapter sda = new SqlDataAdapter("select top (@pagenum) * from pagetest where id not in (select top  (@pagenum*(@pageindex-1)) id from pagetest)", con);

        sda.SelectCommand.Parameters.AddWithValue("pagenum",pagenum);

        sda.SelectCommand.Parameters.AddWithValue("pageindex",pageindex);

        sda.Fill(ds);

        SqlCommand cmd = new SqlCommand("select count(*) from pagetest", con1);

        con1.Open();

        AspNetPager1.RecordCount =Convert.ToInt32(cmd.ExecuteScalar());

        con.Close();

        AspNetPager1.CustomInfoHTML = "共" + AspNetPager1.RecordCount + "條記錄      " + AspNetPager1.CurrentPageIndex + "/" + AspNetPager1.PageCount;

        GridView1.DataSource = ds.Tables[0].DefaultView;

        GridView1.DataBind();

    protected void AspNetPager1_PageChanged(object sender, EventArgs e)

}

深入分析CurrentPageIndex、RecordCount、 PageCount、 PageSize:

pagecount:

public int PageCount

    get

        if (this.RecordCount == 0)

            return 1;

        return (int) Math.Ceiling((double) (((double) this.RecordCount) / ((double) this.PageSize)));

recordcount:

public int RecordCount

        if (this.cloneFrom != null)

            return this.cloneFrom.RecordCount;

        object obj2 = this.ViewState["Recordcount"];

        if (obj2 != null)

            return (int) obj2;

        return 0;

    set

        this.ViewState["Recordcount"] = value;

CurrentPageIndex:

public int CurrentPageIndex

            return this.cloneFrom.CurrentPageIndex;

        object obj2 = this.ViewState["CurrentPageIndex"];

        int num = (obj2 == null) ? 1 : ((int) obj2);

        if ((num > this.PageCount) && (this.PageCount > 0))

            return this.PageCount;

        if (num < 1)

        return num;

        int pageCount = value;

        if (pageCount < 1)

            pageCount = 1;

        else if (pageCount > this.PageCount)

            pageCount = this.PageCount;

        this.ViewState["CurrentPageIndex"] = pageCount;

PageSize:

public int PageSize

        int num;

        if ((!string.IsNullOrEmpty(this.UrlPageSizeName) && !base.DesignMode) && (int.TryParse(this.Page.Request.QueryString[this.UrlPageSizeName], out num) && (num > 0)))

            return num;

        }

            return this.cloneFrom.PageSize;

        object obj2 = this.ViewState["PageSize"];

        return 10;

        this.ViewState["PageSize"] = value;

AlwaysShow  

擷取或設定一個值,該值指定是否總是顯示AspNetPager分頁按件,即使要分頁的資料隻有一頁。 

CurrentPageButtonPosition  

目前頁數字按鈕在所有數字分頁按鈕中的位置,可選值為:Beginning(最前)、End(最後)、Center(居中)和Fixed(預設固定)   

CurrentPageIndex  

擷取或設定目前顯示頁的索引。   

FirstPageText   

擷取或設定為第一頁按鈕顯示的文本。 

LastPageText   

擷取或設定為最後一頁按鈕顯示的文本。 

NextPageText   

擷取或設定為下一頁按鈕顯示的文本。 

PrevPageText   

擷取或設定為上一頁按鈕顯示的文本。 

PageSize 

擷取或設定每頁顯示的項數。(該值擷取或設定資料呈現控件每次要顯示資料表中的的資料的項數,AspNetPager根據該值和 RecordCount 來計算顯示所有資料需要的總頁數,即 PageCount的值。 )  

PageIndexBoxType: 

或者或設定頁索引框的顯示類型,可以是允許使用者手工輸入的文本框和隻能選擇的下拉框。 

MoreButtonType  

擷取或設定“更多頁”(...)按鈕的類型,該值僅當PagingButtonType設為Image時才有效。 

UrlPageIndexName  

擷取或設定當啟用Url分頁方式時,在url中表示要傳遞的頁索引的參數的名稱。   

UrlPageSizeName  

擷取或設定Url中指定每頁顯示記錄數的參數的名稱,或該值不為空或Url

中該值對應的參數的值大于0,則PageSize屬性将使用該參數的值做為每頁顯示的記錄數。   

UrlPaging  

擷取或設定是否啟用url來傳遞分頁資訊。  

TextAfterPageIndexBox  

擷取或設定頁索引頁索引輸入文本框或下拉框後的文本字元串值。   

TextBeforePageIndexBox  

擷取或設定頁索引頁索引輸入文本框或下拉框前的文本字元串值。 

NavigationButtonType  

擷取或設定第一頁、上一頁、下一頁和最後一頁按鈕的類型,該值僅當PagingButtonType設為Image時才有效。   

NavigationToolTipTextFormatString  

擷取或設定導航按鈕工具提示文本的格式。   

NextPageText  

擷取或設定為下一頁按鈕顯示的文本。   

NumericButtonCount  

擷取或設定在 AspNetPager 控件的頁導航元素中同時顯示的數值按鈕的數目。   

NumericButtonTextFormatString  

擷取或設定頁索引數值導航按鈕上文本的顯示格式。   

NumericButtonType  

擷取或設定頁導航數值按鈕的類型,該值僅當PagingButtonType設為Image時才有效。  

PageCount  

擷取所有要分頁的記錄需要的總頁數。   

PageIndexBoxClass  

擷取或設定應用于頁索引輸入文本框或下拉框的CSS類名。   

PageIndexBoxStyle  

擷取或設定頁索引輸入文本框或下拉框的CSS樣式文本。   

PageIndexBoxType   

PageIndexOutOfRangeErrorMessage  

擷取或設定當使用者輸入的頁索引超出範圍(大于最大頁索引或小于最小頁索引)時在用戶端顯示的錯誤資訊。   

PageSize 擷取或設定每頁顯示的項數。   

PagesRemain 擷取目前頁之後未顯示的頁的總數。   PagingButtonLayoutType  

指定分頁導航按鈕(數字和上頁、下頁、首頁、尾頁)布局方式,可以将這些元素包含在<li> 或<span>标簽中以友善應用CSS樣式,預設不包含在任何标簽中。   

PagingButtonSpacing  

擷取或設定分頁導航按鈕之間的間距。   

PagingButtonType  

擷取或設定分頁導航按鈕的類型,即使用文字還是圖檔。  

ShowFirstLast  

擷取或設定一個值,該值訓示是否在頁導航元素中顯示第一頁和最後一頁按鈕。   

ShowNavigationToolTip  

擷取或設定一個值,該值批示當滑鼠指針懸停在導航按鈕上時是否顯示工具提示。   

ShowPageIndex  

擷取或設定一個值,該值訓示是否在頁導航元素中顯示頁索引數值按鈕。   

ShowPageIndexBox   ShowPrevNext  

擷取或設定一個值,該值訓示是否在頁導航元素中顯示上一頁和下一頁按鈕

繼續閱讀