• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

一个ASP.NET长文章分页显示函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

阅读: 5 评论: 0 作者: eng308 发表于 2009-12-14 11:16 原文链接

1、后台实现代码:

  页面加载处理信息:

  

代码
    protected void Page_Load(object sender, EventArgs e)
    {
        
//测试数据
        string str = "两年多的坚持推动最终换来圆满的结果,民众期盼已久的成都赴 台@@湾 包机将于12月19日首度实现直航。据悉,成都市作为此次协议签署中大陆新开放的16个客运包机直航城市、8个邮件封发局之一,空运直航和直接通邮的实现,势必将翻开成都 台@@湾 两地全方位交流与合作的新篇章。成都到 台@@湾 包机直航将带来4方面的有利举措。一是有利于成都市进一步推动对台经贸工作。目前,在成都市登记注册的台资企业共有750家,投资总额22.36亿美元,居西部大城市前列,在成都常住的台商、台胞超过3000人,直航包机的开通将更有利于成都 台@@湾 的经贸合作。二是有利于加强对台交流。直航包机的开通,必将极大推进类似对台交流工作,不断扩大两岸交流领域和层次。三是有利于推动成都市灾后重建工作。未来几年,成都灾后重建项目中包含很多广大 台@@湾 同胞参与的项目,这些项目的建成和投入使用,将更加密切成都 台@@湾 联系。四是有利于西部地区旅游市场的恢复和重建。受地震影响,成都市旅游市场遭受重创,现在入境游仍在低谷徘徊。成都旅游协会赴台开展了多种形势的旅游项目推介活动。 台@@湾 旅游业界对组团来成都市旅游均持积极态度,对成都作为第二批直航包机城市表示极大的支持,随着成都 台@@湾 直航包机开通和对台旅游开放,将大大方便 台@@湾 游客来成都旅游,极大地促进成都市入境游市场的恢复。目前,关于成都到 台@@湾 包机直航首航工作,国航西南公司和四川航空公司都在积极筹备中,四川航空公司已对外公布,将于12月19日开通首航。另外,国航西南公司也计划在12月19日开通首航,并表示一旦首发时间确认,将及时对外公布。";
        Label1.Text 
= OutputBySize(str);
    }

 

  OutputBySize 分页函数:

 

代码
/// <summary>
    
/// 分页函数 
    
/// </summary>
    
/// <param name="p_strContent">所需要处理的数据</param>
    
/// <returns></returns>
    public string OutputBySize(string p_strContent)
    {
        
string m_strRet = "";
        
int m_intPageSize = 100;//文章每页大小 
        int m_intCurrentPage = 1;//设置第一页为初始页 
        int m_intTotalPage = 0;
        
int m_intArticlelength = p_strContent.Length;//文章长度 
        if (m_intPageSize < m_intArticlelength)
        {
//如果每页大小大于文章长度时就不用分页了 
            if (m_intArticlelength % m_intPageSize == 0)
            {
//set total pages count 
                m_intTotalPage = m_intArticlelength / m_intPageSize;
            }
            
else
            {
//if the totalsize 
                m_intTotalPage = m_intArticlelength / m_intPageSize + 1;
            }
            
if (Request.QueryString["ps"!= null)
            {
//set Current page number 
                try
                {
//处理不正常的地址栏的值 
                    m_intCurrentPage = Convert.ToInt32(Request.QueryString["ps"]);
                    
if (m_intCurrentPage > m_intTotalPage)

                        m_intCurrentPage 
= m_intTotalPage;

                }
                
catch
                {
                    
//m_intCurrentPage = m_intCurrentPage; 
                }
            }
            
//set the page content 设置获取当前页的大小 
            if (m_intCurrentPage < m_intTotalPage)
            {
                m_intPageSize 
= m_intCurrentPage < m_intTotalPage ? m_intPageSize : (m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1));
                m_strRet 
+= p_strContent.Substring(m_intPageSize * (m_intCurrentPage - 1), m_intPageSize);
            }
            
else if (m_intCurrentPage == m_intTotalPage)
            {
                
int mm_intPageSize = m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1);
                m_strRet 
+= p_strContent.Substring(m_intArticlelength - mm_intPageSize);
            }

            
string m_strPageInfo = "";
            
for (int i = 1; i <= m_intTotalPage; i++)
            {
                
if (i == m_intCurrentPage)
                    m_strPageInfo 
+= "[" + i + "]";
                
else
                    m_strPageInfo 
+= " <a href=?ps=" + i + ">[" + i + "] </a> ";

            }
            
if (m_intCurrentPage > 1)
                m_strPageInfo 
= " <a href=?ps=" + (m_intCurrentPage - 1+ ">上一页 </a>" + m_strPageInfo;
            
if (m_intCurrentPage < m_intTotalPage)
                m_strPageInfo 
+= " <a href=?ps=" + (m_intCurrentPage + 1+ ">下一页 </a>";
            
//输出显示各个页码 
            this.ShowPageNumber.Text = " <p> </p>" + m_strPageInfo;

        }
        
else
        {
            m_strRet 
+= p_strContent;
        }
        
return m_strRet;
    }

 

2、前台所需信息:

  


        
<asp:Label ID="Label1" runat="server" Text="Label"> </asp:Label> 
        
<asp:Label ID="ShowPageNumber" Font-Size="14px" runat="server"> </asp:Label> 

 

 

评论: 0 查看评论 发表评论


最新新闻:
· 传盛大密签王菲 春晚实为游戏电影造势(2010-02-06 12:28)
· 商业周刊:乔布斯iPad志在云计算(2010-02-06 12:27)
· 十大最佳Ajax教程(2010-02-06 12:21)
· 微软下周不修复新IE漏洞(2010-02-06 12:18)
· Firefox 4.0演示视频曝光(2010-02-06 12:10)

编辑推荐:ASP.NET MVC 2 RC 2 发布

网站导航:博客园首页  个人主页  新闻  闪存  小组  博问  社区  知识库


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.netmvc之旅——第二站窥探Controller下的各种Result发布时间:2022-07-10
下一篇:
Asp.net源码上周更新(12.10-12.6)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap