GridView的分页有没有这种效果的
http://www.xxxx.com/xxx.aspx?page=1(就像连接<a href="xxx.aspx?page=1"></a>的效果)
不想要
javascript:_dopostback('fsadf')这种的
怎么做?

解决方案 »

  1.   

    自带的分页鼠标放在上面显示的是javascript:_dopostback.....
    我不想要这种得3楼的能说详细点吗
      

  2.   

    一个简单的分页搞的那么复杂干什么啊  用 AspNetPager 不错啊
      

  3.   

    GridView自带的分页多方便。
    你到底要干什么?
      

  4.   

    要实现这种可以利用pageDataSource自定义分页。在分页模版中放Repeater,然后绑定Reapter.
      

  5.   

     public void PageTemp(DataSet ds)
        {
            //创建分页类:
            PagedDataSource objPage = new PagedDataSource();        //设置数据源
            objPage.DataSource = ds.Tables[0].DefaultView;        //允许分页:
            objPage.AllowPaging = true;        //设置每页显示条数:
            objPage.PageSize = 10;        //定义变量用来保存当前页索引:
            int curPage;        //判断是否有页面跳转请求:
            if (Request.QueryString["Page"] != null)
            {
                curPage = Convert.ToInt32(Request.QueryString["Page"]);        }
            else
            {
                curPage = 1;
            }        objPage.CurrentPageIndex = curPage - 1;
            this.Label5.Text = "当前页:第" + curPage.ToString() + "页";
            if (!objPage.IsFirstPage)
            {
                this.HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage - 1);
            }
            if (!objPage.IsLastPage)
            {
                this.HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage + 1);
            }        this.GridView1.DataSource = objPage;
            try
            {
                this.GridView1.DataBind();//当在一页中只有一行,删除时会有错误,所以用try,catch
            }
            catch
            {        }
            
        }
      

  6.   

    添加个模版列,在模版列里放个LinkButton
      

  7.   

    //-------------------------------------分页--------------------------------------
    ///先定义一个分页的类
    #region  Saga.LiveChain.FlyOA.CommonTool.SetPage
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.Common;
    using System.Globalization;
    using System.Configuration;
    using System.Collections;
    using System.Diagnostics;
    using System.Text;
    using System.Web.UI.WebControls;
    namespace Saga.LiveChain.FlyOA.CommonTool.SetPage
    {
        public class SetPage
        {
            public PagedDataSource BindGrid(DataTable dt, Label PageLabel, DropDownList SelectPageType, Label TotalPagelb, LinkButton PreButton, LinkButton NextButton, LinkButton FirstButton, LinkButton LastButton)
            {
                PreButton.CausesValidation = false;
                NextButton.CausesValidation = false;
                FirstButton.CausesValidation = false;
                LastButton.CausesValidation = false;            PagedDataSource ps = new PagedDataSource();
                if (dt != null)
                {
                    if (PageLabel.Text == "")
                    {
                        PageLabel.Text = "1";
                    }                int curpage = Convert.ToInt32(PageLabel.Text);
                    ps.DataSource = dt.DefaultView;
                    ps.AllowPaging = true;
                    ps.PageSize = Convert.ToInt32(SelectPageType.SelectedValue);
                    TotalPagelb.Text = ps.PageCount.ToString();                PreButton.Enabled = true;
                    NextButton.Enabled = true;
                    ps.CurrentPageIndex = curpage - 1;
                    if (curpage == 1)
                    {
                        PreButton.Enabled = false;
                        FirstButton.Enabled = false;
                    }
                    else
                    {
                        PreButton.Enabled = true;
                        FirstButton.Enabled = true;
                    }
                    if (curpage == ps.PageCount)
                    {
                        NextButton.Enabled = false;
                        LastButton.Enabled = false;
                    }
                    else
                    {
                        NextButton.Enabled = true;
                        LastButton.Enabled = true;
                    }
                }            return ps;
            }        /// <summary>
            /// pagination when Error
            /// </summary>
            /// <param name="dt"></param>
            /// <param name="PageLabel"></param>
            /// <param name="SelectPageType"></param>
            /// <param name="TotalPagelb"></param>
            /// <param name="PreButton"></param>
            /// <param name="NextButton"></param>
            /// <param name="FirstButton"></param>
            /// <param name="LastButton"></param>
            /// <returns></returns>
            public PagedDataSource BindGridDelete(DataTable dt, Label PageLabel, DropDownList SelectPageType, Label TotalPagelb, LinkButton PreButton, LinkButton NextButton, LinkButton FirstButton, LinkButton LastButton)
            {
                PreButton.CausesValidation = false;
                NextButton.CausesValidation = false;
                FirstButton.CausesValidation = false;
                LastButton.CausesValidation = false;            PagedDataSource ps = new PagedDataSource();
                if (dt != null)
                {
                    int curpage = Convert.ToInt32(PageLabel.Text);
                    ps.DataSource = dt.DefaultView;
                    ps.AllowPaging = true;
                    ps.PageSize = Convert.ToInt32(SelectPageType.SelectedValue);
                    TotalPagelb.Text = ps.PageCount.ToString();
                    if (PageLabel.Text == "2")
                    {
                        FirstButton.Enabled = false;
                        PreButton.Enabled = false;
                    }
                    else
                    {
                        FirstButton.Enabled = true;
                        PreButton.Enabled = true;
                    }
                    NextButton.Enabled = false;
                    LastButton.Enabled = false;                ps.CurrentPageIndex = ps.PageCount - 1;
                    PageLabel.Text = Convert.ToString(curpage - 1);
                }
                return ps;
            }
        }
    }
    #endregion
    ///在页面上添加一个分页行
    #region PageTD
       <tr>
         <td id="PageTD" runat="server" valign="bottom" align="right" colspan="4">
               <asp:Label ID="tplb" runat="server" Text="总页数:"></asp:Label>
               <asp:Label ID="TotalPagelb"  runat="server" Text=""></asp:Label>
               <asp:Label ID="curLabel" runat="server" Text="当前页:"></asp:Label>
               <asp:Label ID="PageLabel" runat="server"></asp:Label>&nbsp;
               <asp:LinkButton ID="FirstButton" runat="server" OnClick="FirstButton_Click" CssClass="LinkText">|&lt;</asp:LinkButton>&nbsp;
               <asp:LinkButton ID="PreButton" runat="server" OnClick="PreButton_Click" CssClass="LinkText">&lt;</asp:LinkButton>&nbsp;
               <asp:LinkButton ID="NextButton" runat="server" OnClick="NextButton_Click" CssClass="LinkText">&gt;</asp:LinkButton>
               <asp:LinkButton ID="LastButton" runat="server" OnClick="LastButton_Click" CssClass="LinkText">&gt;|</asp:LinkButton>
               每页显示
               <asp:DropDownList ID="SelectPageType" runat="server" Width="40px" AutoPostBack="True" OnSelectedIndexChanged="SelectPageType_SelectedIndexChanged">
                                                                <asp:ListItem>20</asp:ListItem>
                                                                <asp:ListItem>15</asp:ListItem>
                                                                <asp:ListItem Selected="True">10</asp:ListItem>
                                                                <asp:ListItem>5</asp:ListItem>
                </asp:DropDownList>
               <asp:Label ID="PageSizeLabel" runat="server" Text="条/页"></asp:Label>
             </td>
           </tr>
    #endregion
    ///在页面的代码上加入引用
    #region using setpage
    using Saga.LiveChain.FlyOA.CommonTool.SetPage;
    #endregion
    ///绑定数据的方法变成下面的方法
    #region BindGridView1()
     public void BindGridView1()
        {
            DataTable dt = MyBFWatchHistory.Watch_WatchHistory_ViewGetAll();        SetPage Pagesize = new SetPage();
            PagedDataSource ps = new PagedDataSource();
            try
            {
                ps = Pagesize.BindGrid(dt, PageLabel, SelectPageType, TotalPagelb, PreButton, NextButton, FirstButton, LastButton);
                GridView1.DataSource = ps;
                GridView1.DataBind();
            }
            catch
            {
                ps = Pagesize.BindGridDelete(dt, PageLabel, SelectPageType, TotalPagelb, PreButton, NextButton, FirstButton, LastButton);
                GridView1.DataSource = ps;
                GridView1.DataBind();
            }
        }
    #endregion
    ///修改dt的数据绑定方法dt = MyBFWatchHistory.Watch_WatchHistory_ViewGetAll();
    ///修改所有的绑定方法或重绑为BindGridView1()
    ///修改控件名称为GridView1
    ///在页面的代码中加入下列定义
    #region page set
        protected void FirstButton_Click(object sender, EventArgs e)
        {
            this.PageLabel.Text = "1";
            BindGridView1();
        }
        protected void PreButton_Click(object sender, EventArgs e)
        {
            this.PageLabel.Text = Convert.ToString(Convert.ToUInt32(PageLabel.Text) - 1);
            BindGridView1();
        }
        protected void NextButton_Click(object sender, EventArgs e)
        {
            this.PageLabel.Text = Convert.ToString(Convert.ToUInt32(PageLabel.Text) + 1);
            BindGridView1();
        }
        protected void LastButton_Click(object sender, EventArgs e)
        {
            this.PageLabel.Text = TotalPagelb.Text;
            BindGridView1();
        }
        protected void SelectPageType_SelectedIndexChanged(object sender, EventArgs e)
        {
            PageLabel.Text = "1";
            BindGridView1();
        }
        #endregion