园子里关于AspNetPager分页控件的文章很多,最近喵喵在项目中使用到了这个控件,现将AspNetPager url重写的使用分享一下。

如图:http://www.XXXX/

type代表类型,pgid代表当前页码。

     int currentPageId = Convert.ToInt32(Request.QueryString["pgid"].ToString());
                ViewState["currentPageId"] = currentPageId;
                if (Session["ptype"] == null)
                {
                    Session["ptype"] = string.Empty;
                }

if (Request.QueryString["tag"] != null && Request.QueryString["tag"] != "")
                {
                    this.AspNetPager1.UrlRewritePattern = "listproduct/tag_{tag}_pgid_{0}.html".Replace("{tag}", Request.QueryString["tag"]);
                    string tag = Server.HtmlDecode(Request.QueryString["tag"].ToString());
                    Session["Where"] = "proe.ProcTitle like '%" + tag + "%'";
             
                    txtProduceName.Text = tag;
                }
                else if (Request.QueryString["type"] != null && Request.QueryString["type"] != "")
                {
                    this.AspNetPager1.UrlRewritePattern = "listproduct/type_{type}_pgid_{0}.html".Replace("{type}", Request.QueryString["type"]);
                    string type = Request.QueryString["type"];
                    if (type.Equals("product")) //表示所有的产品类型
                    {
                        Session["Where"] = string.Empty;
                    }
                    else
                    {
                        Session["Where"] = " proe.ProductType like '" + type + "%'                        this.SelectThType1.Value = type;
                    }

一些属性需读者自己参考吴旗娃官方网址查阅。

1.上面的代码根据传过来的参数,然后指定分页控件的UrlRewritePattern。写在Page_Load里。

code

   protected void AspNetPager1_PageChanged(object src, EventArgs e)
    {
        AspNetPager1.CurrentPageIndex = Convert.ToInt32(ViewState["currentPageId"].ToString());
        this.PageDataBind();
    }

2.上面的代码是它的绑定数据的事件。

 public void PageDataBind()
    {
        try
        {
            this.dlProducts.DataSource = null;
            if (Session["Where"] == null)
            {
                Session["Where"] = "";
            }
            if (Session["Where"].ToString().Length > 0)
            {
                this.AspNetPager1.RecordCount = GetProduceSizeBySQL(Session["Where"].ToString());
            }
            else
            {
                this.AspNetPager1.RecordCount = GetProductSize();
            }

string[] list = new string[] { "*", "Produce as proe inner join companyinfo as comp " +
        "on proe.UserId=comp.UserId ", Session["Where"].ToString(), "proe.Id ", " order by proe.SendTime  desc ", ViewState["currentPageId"].ToString(), "15" };

//Response.Write(list.GetValue(0) + "___" + list.GetValue(1) + "___" + list.GetValue(2) + "___" + list.GetValue(3) + "___" + list.GetValue(4) + "___" + list.GetValue(5) + "___");

AspNetPager1.CurrentPageIndex = Convert.ToInt32(ViewState["currentPageId"].ToString());
            dlProducts.DataSource = ProduceManage.GetProductsByProc(list);
            dlProducts.DataBind();
        }
        catch (Exception)
        {
        }
    }

3.上面的代码通过存储过程返回当前页的数据给数据源控件。

 

  <webdiyer:AspNetPager ID="AspNetPager1" CssClass="anpager" CurrentPageButtonClass="cpb"
                    PageSize="15" runat="server" HorizontalAlign="Center" Width="100%" 
                    EnableUrlRewriting="true" UrlRewritePattern="listproduct/type_{type}_pgid_{0}.html"
                    OnPageChanged="AspNetPager1_PageChanged" FirstPageText="首页" LastPageText="尾页"
                   NextPageText="下一页" PrevPageText="上一页" CustomInfoHTML="第<font color='red'><b>%currentPageIndex%</b></font>页/共%PageCount%页   每页%PageSize%条/共/%RecordCount%条" ShowPageIndexBox="Always" ShowCustomInfoSection="Right" CustomInfoSectionWidth="250px">
                </webdiyer:AspNetPager>

4.上面的代码是页面中控件的属性设置。

好了,关于AspNetPager分页控件的url重写今天就写到这里,喵喵在这里谢谢您的支持!

转载于:https://www.cnblogs.com/qixuejia/archive/2010/04/17/AspNetPager-url-rewrite.html

AspNetPager分页控件之url重写相关推荐

  1. Repeater使用 AspNetPager分页控件

    一.AspNetPager分页控件 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net ...

  2. AspNetPager分页控件

    http://files.cnblogs.com/zhangweiguo3984/AspNetPager433.rar 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以 ...

  3. 如何使用AspNetPager分页控件对动态查询的结果进行分页

    注意: 如果 设置UrlPaging 为True,后台用ViewState是保存不住查询条件的,如果非要用Url分页,可以用Session保存查询条件. 后台代码 : const string vsK ...

  4. asp.net下用AspNetPager分页控件对DataList进行分页

    第一次写博客,其实注册挺久的了,一直不知道写些什么好,原因是自己菜鸟一个,知识浅陋,不好出来献丑. 但是慢慢接触的多了,总觉得有些东西是不是该写一写,跟分享一下!不敢说对大家都有用,互相学习,也权当是 ...

  5. AspNetPager分页控件的运用 【转】-有用

    1. 添别AspNetPager.dll的引用. 2.    <webdiyer:AspNetPager ID="pager" runat="server" ...

  6. ASP.NET调用Oracle分页存储过程并结合ASPnetpager分页控件 实现分页功能

    之前用的是GridView自带的分页功能,那速度啊慢的真实不行  ,决定自定义分页  Oracle库里有5W多条数据 AspnetPager做的还是不错,拿过来用 Oracle 分页存储过程: cre ...

  7. AspNetPager 分页控件

    最喜欢用repeater控件,小巧灵活 但分页就是使用分页数据源--PagedDataSource,而且要自己去定义总页数.每页的数据量 .当前页等等, 同事引入一个新的dll( AspNetPage ...

  8. 分页控件 实战 Post篇

    2019独角兽企业重金招聘Python工程师标准>>> 前言: 分页,大伙并不陌生 也许你正用着:DataGrid/GridView自带的分页 也许你正用着:网上流传较广的Aspne ...

  9. AspNetPager免费开源分页控件7.4.1版发布

    前几天发布的7.4版出现了postback分页情况下客户端脚本未注册的bug,非常抱歉,7.4.1版已修正这些问题,具体更新说明如下: 修正了Postback分页且显示页索引文本框的情况下,客户端脚本 ...

  10. asp.net中分页控件AspNetPager美化样式

    在asp.net开发中数据列表分页是再常见不过的功能了,相信大家使用AspNetPager的也很多,使用CSS可以让样式更好看,如下图: 新建一个名为content.css文件,如下: /*分页控件* ...

最新文章

  1. Java笔记:成员变量,局部变量,类变量,实例变量以及注意事项
  2. linux 修改默认路径吗,linux中vsftp修改默认路径
  3. mysql windows软件_windows版MySQL软件的安装
  4. 3 操作系统第二章 进程管理 进程定义、特征、组织、状态与转换
  5. 7-4 求下一天 (30 分)
  6. golang 筆記:make 與 new 的差別
  7. securecrt8.1破解版安装与注册机的使用方法
  8. Get value from agent failed:cannot connect to [[192.168.121.128]:10050]:[111Connection refused]]
  9. Drool学习记录(一) 概念、Helloworld
  10. python变成灰色_Python怎么把彩色图像转换成灰色图像?
  11. 优锘科技:森数据初体验
  12. mongodb——mongo笔记*
  13. h5-吸顶效果的实现方法
  14. vue动态调节背景图片
  15. 〖Python 数据库开发实战 - Python与MySQL交互篇⑰〗- 项目实战 - 实现用户管理 - 修改用户
  16. Linux学习笔记RHEL 7(一)--RedHatEnterpriseLinux 7.0安装过程
  17. Spring 之AOP AspectJ切入点语法详解(最全了,不需要再去其他地找了)---zhangkaitao
  18. python3中flask下载文件:图像.jpg
  19. 3.4 Linux常用的转义字符
  20. [原创+总结]防火墙常见日志分析

热门文章

  1. Elasticsearch安装与分词插件、用户词典、同义词配置等
  2. Ubuntu 18.10 下安装CUDA10/CUDA10.1
  3. yarn安装详细教程说明、升级教程、修改yarn的全局和缓存目录、yarn基本命令
  4. 超快激光啁啾放大技术的原理及应用
  5. 全新一代智慧园区数字孪生解决方案,为园区运营商和集成商赋能
  6. latex参考文献编译不成功
  7. 有关office2016图标显示异常的解决办法(亲测一天,终于解决!!!!)
  8. 使用Python快速实现人脸融合
  9. 接口文档要写在概要设计里吗_概要设计报告怎么写
  10. ad09只在一定范围内查找相似对象_AD09 常用快捷键