我现在是实现的功能是点击类进入产品页面,默认提出一些数据,然后分页,然后有三个按条件查询,比如说按价格从低到高排序,第一页的数据显示是对的,但是当点击第二页时,显示的数据是默认进来数据的第二页,按钮用的是LinkButton,整个页面用了一个AspNetPager控件,只有默认的是可以的,其它第二页的数据都不对,我就想知道怎么能判断出点击的是哪个按钮,然后根据点击的按钮取出相应的数据再分页?  它这里AspNetPager1_PageChanged,应该是在这里面判断吧,但具体怎么做就不知道了!求解!!!

解决方案 »

  1.   

    排序有可能不对,你调试的时候取出SQL语句,在数据库里查询一下就知道了
      

  2.   

    呃 你在百度知道也贴了吧?...我给你写了例子
    前台:<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
        CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %><asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content>
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
       
       <p>
        <asp:Label runat="server" ID="lbl_start" />
        <asp:Label runat="server" ID="lbl_end" />
       </p>
       
       <p>
       <asp:Repeater runat="server" ID="repeater1" >
          <ItemTemplate>
          <%#DataBinder.Eval(Container.DataItem, "RegID")%><br />
          </ItemTemplate>
        </asp:Repeater>    <webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" NumericButtonCount="6" UrlPaging="true" NumericButtonTextFormatString="[{0}]" CustomInfoHTML="第 <font color='red'><b>%CurrentPageIndex%</b></font> 页 共 %PageCount% 页 显示 %StartRecordIndex%-%EndRecordIndex% 条" ShowCustomInfoSection="left"
    FirstPageText="首页" LastPageText="末页" NextPageText="下页" PrevPageText="上页" Font-Names="Arial" BackColor="#F8B500" AlwaysShow="true" ShowInputBox="Always" SubmitButtonText="跳转" SubmitButtonStyle="botton" OnPageChanged="AspNetPager1_PageChanged" >
                  </webdiyer:AspNetPager>
       </p>
    </asp:Content>后台:using System;
    using System.Collections;
    using System.Linq;
    using System.Web.UI.WebControls;namespace WebApplication1
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                AspNetPager1.Enabled = true;
                BindGrid();
            }        protected void AspNetPager1_PageChanged(object sender, EventArgs e)
            {
                BindGrid();
            }        public void BindGrid()
            {
                DataClasses1DataContext dbcontext = new DataClasses1DataContext();
                IList list = (from rec in dbcontext.conf12_Registrations
                              // where rec.Cost_Accomm.ToString().Equals(rec.Cost_Accomm.ToString())
                              select rec).ToList();            PagedDataSource pds = new PagedDataSource();
                pds.DataSource = list;            this.AspNetPager1.RecordCount = Int32.Parse(list.Count.ToString());
                int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
                int pageSize = this.AspNetPager1.PageSize = 20;
                pds.AllowPaging = true;
                pds.PageSize = pageSize;
                pds.CurrentPageIndex = pageIndex;            repeater1.DataSource = pds;
                repeater1.DataBind();
            }
        }
    }你先参考一下有问题再问吧