首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

,关于AspNetPager分页有关问题

2013-07-11 
求助,关于AspNetPager分页问题本帖最后由 zx_001 于 2013-07-05 18:45:19 编辑我用AspNetPager实现了分页,

求助,关于AspNetPager分页问题
本帖最后由 zx_001 于 2013-07-05 18:45:19 编辑 我用AspNetPager实现了分页,现在要进行伪静态,但是页面有几个DropDownList来对查询出来的结果进行筛选,查询出来的数据能够正常分页并伪静态,但是进行筛选后就伪静态就失效了,

           <webdiyer:AspNetPager ID="AspNetPager1"  runat="server" CssClass="paginator"  CurrentPageButtonClass="cpb" CurrentPageButtonPosition="Center" 
             NextPageText="下一页" PrevPageText="上一页" ShowInputBox="always" PageSize="5"  LastPageText="未页" FirstPageText="首页" NumericButtonCount="10"
              onpagechanging="AspNetPager1_PageChanging"></webdiyer:AspNetPager>


后台:

 public void BindPage(int current, string strWhrs)
        {
            messs.InnerHtml = mess;
            int number;
            if (strWhrs == null)
            {
                strWhrs = " IsLock=0 and L_Type=1 ";
            }

            number = bll.GetCount(strWhrs);//获取数据的总数

            if (number == 0)
            {
                tishi.Style["display"] = "block";
                tishi.InnerText = "很抱歉,暂无数据!";
            }
            else
            {
                tishi.Style["display"] = "none";
            }
            AspNetPager1.RecordCount = number;

            int begin = (current - 1) * AspNetPager1.PageSize;


            int size = AspNetPager1.PageSize;
            this.AspNetPager1.EnableUrlRewriting = true;
            if (_classid !=null)
            {
                this.AspNetPager1.UrlRewritePattern = "/exchange/list-" + _classid + "-{0}.html";
            }
            else
            {
                this.AspNetPager1.UrlRewritePattern = "/exchange/{0}.html";
            }
            rptlinklist.DataSource = bll.GetPageList(size, begin, strWhrs, " L_Kz desc");
            rptlinklist.DataBind();

        }
        protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
        {
            BindPage(e.NewPageIndex, (string)ViewState[vskey]);
        }



DropDownList我是用的是onselectedindexchanged事件
事件里面调用的是BindPage()方法,把条件传过去,

在没有选择筛选条件时伪静态正常并能正常分页
,关于AspNetPager分页有关问题

在选择了筛选条件后,伪静态就失效了
,关于AspNetPager分页有关问题
分页 DropDownList AspNetPager
[解决办法]
首先设置aspnetpager的EnableUrlRewriting属性为true,然后设置UrlRewritePattern属性

自己设置得参数可以通过%自己设置的参数名%来获取其值,用{0}可以获取UrlPageIndexName参数得值



例如原来的URL为newsList.aspx?newsId=12345重写为newsList_123456.html
设置UrlRewritePattern属性为:newslist_%newsId%/{0}然后在重写规则里再添加一个

<RewriterRule>
        <LookFor>~/news/newslist_(\d+)/(\d+)</LookFor>
        <SendTo><![CDATA[~/news/newslist.aspx?newsId=$1&page=$2]]></SendTo>
      </RewriterRule>
规则中的page就是aspnetpager控件得UrlPageIndexName属性的值
[解决办法]

引用:
Quote: 引用:

AspNetPager不是支持伪静态的么
注意:设置EnableUrlRewriting="true"将自动设置UrlPaging="true"(默认为false),无需再单独设置该属性的值。


是的,
我现在情况是页面加入条件对查询出来的数据进行筛选,在筛选的过程中,页面刷新了,伪静态没有保持 




楼主的问题标题应该改改,你这个问题和AspNetPager没有任何关系,标题扯上AspNetPager导致楼上的都围绕着AspNetPager回答去了。

 你的问题是使用了服务端控件,服务端控件在更改值时是有一次postback的, 服务端的,postback之后自然就是服务端的页面地址了。


参见:http://www.cnblogs.com/JeffreyZhao/archive/2008/01/13/Url-Rewrite-3.html

热点排行