文章太长分页显示

来源:互联网 发布:淘宝历史价格查询软件 编辑:程序博客网 时间:2024/04/25 17:50
  1. protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         string str = "两年多的坚持推动最终换来圆满的结果,民众期盼已久的成都赴台湾包机将于12月19日首度实现直航。据悉,成都市作为此次协议签署中大陆新开放的16个客运包机直航城市、8个邮件封发局之一,空运直航和直接通邮的实现,势必将翻开成都台湾两地全方位交流与合作的新篇章。成都到台湾包机直航将带来4方面的有利举措。一是有利于成都市进一步推动对台经贸工作。目前,在成都市登记注册的台资企业共有750家,投资总额22.36亿美元,居西部大城市前列,在成都常住的台商、台胞超过3000人,直航包机的开通将更有利于成都台湾的经贸合作。二是有利于加强对台交流。直航包机的开通,必将极大推进类似对台交流工作,不断扩大两岸交流领域和层次。三是有利于推动成都市灾后重建工作。未来几年,成都灾后重建项目中包含很多广大台湾同胞参与的项目,这些项目的建成和投入使用,将更加密切成都台湾联系。四是有利于西部地区旅游市场的恢复和重建。受地震影响,成都市旅游市场遭受重创,现在入境游仍在低谷徘徊。成都旅游协会赴台开展了多种形势的旅游项目推介活动。台湾旅游业界对组团来成都市旅游均持积极态度,对成都作为第二批直航包机城市表示极大的支持,随着成都台湾直航包机开通和对台旅游开放,将大大方便台湾游客来成都旅游,极大地促进成都市入境游市场的恢复。目前,关于成都到台湾包机直航首航工作,国航西南公司和四川航空公司都在积极筹备中,四川航空公司已对外公布,将于12月19日开通首航。另外,国航西南公司也计划在12月19日开通首航,并表示一旦首发时间确认,将及时对外公布。";
  4.         Label1.Text = OutputBySize(str); 
  5.     }
  6.     public string OutputBySize(string p_strContent)//分页函数 
  7.     {
  8.         string m_strRet = "";
  9.         int m_intPageSize = 100;//文章每页大小 
  10.         int m_intCurrentPage = 1;//设置第一页为初始页 
  11.         int m_intTotalPage = 0;
  12.         int m_intArticlelength = p_strContent.Length;//文章长度 
  13.         if (m_intPageSize < m_intArticlelength)
  14.         {//如果每页大小大于文章长度时就不用分页了 
  15.             if (m_intArticlelength % m_intPageSize == 0)
  16.             {//set total pages count 
  17.                 m_intTotalPage = m_intArticlelength / m_intPageSize;
  18.             }
  19.             else
  20.             {//if the totalsize 
  21.                 m_intTotalPage = m_intArticlelength / m_intPageSize + 1;
  22.             }
  23.             if (Request.QueryString["ps"] != null)
  24.             {//set Current page number 
  25.                 try
  26.                 {//处理不正常的地址栏的值 
  27.                     m_intCurrentPage = Convert.ToInt32(Request.QueryString["ps"]);
  28.                     if (m_intCurrentPage > m_intTotalPage)
  29.                         m_intCurrentPage = m_intTotalPage;
  30.                 }
  31.                 catch
  32.                 {
  33.                     //m_intCurrentPage = m_intCurrentPage; 
  34.                 }
  35.             }
  36.             //set the page content 设置获取当前页的大小 
  37.             if (m_intCurrentPage < m_intTotalPage)
  38.             {
  39.                 m_intPageSize = m_intCurrentPage < m_intTotalPage ? m_intPageSize : (m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1));
  40.                 m_strRet += p_strContent.Substring(m_intPageSize * (m_intCurrentPage - 1), m_intPageSize);
  41.             }
  42.             else if (m_intCurrentPage == m_intTotalPage)
  43.             {
  44.                 int mm_intPageSize = m_intArticlelength - m_intPageSize * (m_intCurrentPage - 1);
  45.                 m_strRet += p_strContent.Substring(m_intArticlelength - mm_intPageSize);
  46.             }
  47.             string m_strPageInfo = "";
  48.             for (int i = 1; i <= m_intTotalPage; i++)
  49.             {
  50.                 if (i == m_intCurrentPage)
  51.                     m_strPageInfo += "[" + i + "]";
  52.                 else
  53.                     m_strPageInfo += " <a href=?ps=" + i + ">[" + i + "] </a> ";
  54.             }
  55.             if (m_intCurrentPage > 1)
  56.                 m_strPageInfo = " <a href=?ps=" + (m_intCurrentPage - 1) + ">上一页 </a>" + m_strPageInfo;
  57.             if (m_intCurrentPage < m_intTotalPage)
  58.                 m_strPageInfo += " <a href=?ps=" + (m_intCurrentPage + 1) + ">下一页 </a>";
  59.             //输出显示各个页码 
  60.             this.ShowPageNumber.Text = " <p> </p>" + m_strPageInfo;
  61.         }
  62.         else
  63.         {
  64.             m_strRet += p_strContent;
  65.         }
  66.         return m_strRet;
  67.     } 

 

aspx页中插入 

  1.         <asp:Label ID="Label1" runat="server" Text="Label"> </asp:Label> 
  2.         <asp:Label ID="ShowPageNumber" Font-Size="14px" runat="server"> </asp:Label> 
原创粉丝点击