当在 一个页面显示一个文章的内容时,如果文章太长,会造成页面无限高,样式很不好看,对此我有两种解决方法:
一,将内容放在<div>标签中,然后设置标签的style,具体<div style="overflow:auto;height:50px;">,这里的height是设置div的高度,然后设置当高度超过后会显示一个滚动条,不会破坏页面的整体效果
二,在后来通过分割字符来进行分页,代码如下:
前台代码
<div class="rBox artBox" style="margin-top:0;background-color:#f0f9ff;">
  <div class="tit02" style="background-image:url('images/tit_bg2.gif');">
      <b><a href="Default.aspx">首页</a>&gt;&gt;</b>
      <asp:Literal ID="litSubject" runat="server"></asp:Literal>&gt;&gt;
            <asp:Literal ID="litName" runat="server"></asp:Literal>
  </div>
  <h2><asp:Literal ID="litNewsName" runat="server" Text=""></asp:Literal></h2>
  <div style="font-size:14px;line-height:1.7em;padding:7px 10px 0 10px;"><asp:Literal ID="litContents" runat="server" Text=""></asp:Literal></div>
<hr style="width:98%; text-align:center;" />
  <div style="text-align:right; padding-right:20px; font-size:14px;"><asp:Literal ID="litPageNum" runat="server"></asp:Literal></div>
     <div class="clear"></div>
</div>
后台代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BLL;
using Common;
namespace WebTrain
{
    public partial class ArticleDetails : System.Web.UI.Page
    {
        string id = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["id"]))
            {
                id =Request.QueryString["id"];
            }
            if (!string.IsNullOrEmpty(id))
            {
                if (!IsPostBack)
                {
                    loadData();
                }
            }
        }
        void loadData()
        {
            DataSet dsArt = BLL.Release_BLL.getReleaseByID(id);
            if (dsArt.Tables[0].Rows.Count > 0)
            {
                litNewsName.Text = dsArt.Tables[0].Rows[0]["newsName"].ToString();
                this.litContents.Text = OutputBySize(dsArt.Tables[0].Rows[0]["contents"].ToString().Replace("<div","").Replace("</div>","").Replace("<span","").Replace("</span>",""));
                DataSet dsSubject = BLL.Subject_BLL.getSubject(dsArt.Tables[0].Rows[0]["subjectID"].ToString());
                if (dsSubject.Tables[0].Rows.Count > 0)
                {
                    litSubject.Text = dsSubject.Tables[0].Rows[0]["subjectName"].ToString();
                    litName.Text = dsArt.Tables[0].Rows[0]["newsName"].ToString();
                }
            }
        }
        //分页
        public string OutputBySize(string p_strContent)
        {
            string m_strRet = p_strContent;
            int m_intPageSize = 1000;//文章每页大小
            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["pages"] != null)
                {
                    //set Current page number
                    try
                    {
                        //处理不正常的地址栏的值
                        m_intCurrentPage = Convert.ToInt32(Request.QueryString["pages"]);
                        if (m_intCurrentPage > m_intTotalPage)
                            m_intCurrentPage = m_intTotalPage;
                    }
                    catch (Exception ex)
                    {
                        m_intCurrentPage = m_intCurrentPage;
                    }
                }
                //set the page content 设置获取当前页的大小
                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);
                string m_strPageInfo = "<p></p>";
                for (int i = 1; i <= m_intTotalPage; i++)
                {
                    if (i == m_intCurrentPage)
                        m_strPageInfo += "<b>" + i + "</b>|";
                    else
                        m_strPageInfo += "<a href=ArticleDetails.aspx?id=" + Request.QueryString["id"] + "&pages=" + i + ">" + i + "</a>|";
                }
                //输出显示各个页码
                this.litPageNum.Text = m_strPageInfo;
            }
            return m_strRet;
        }
    }
}

转载于:https://www.cnblogs.com/nlx0201/archive/2010/10/11/1908139.html

对页面文章过长的处理方法相关推荐

  1. php实现页面跳转的几种方法(实例分享)

    发布:theboy   来源:net     [大 中 小] 转自:http://www.jbxue.com/article/2366.html php 页面跳转的几种方法 方法一.header()函 ...

  2. 如何精确统计页面停留时长

    关注公众号 前端开发博客,回复"加群" 加入我们一起学习,天天进步 作者:今日头条技术 链接:https://techblog.toutiao.com/2018/06/05/ru- ...

  3. Unity iOS打开AppStore评星页面,浅谈Application.OpenURL()方法。

    http://fairwoodgame.com/blog/?p=38 Unity iOS打开AppStore评星页面,浅谈Application.OpenURL()方法. Posted in  Uni ...

  4. php伪造页面url地址,php 伪造HTTP_REFERER页面URL来源的三种方法

    php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER['HTTP_REFERER'],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍 ...

  5. python不定长参数怎么相加_python函数不定长参数使用方法解析

    这篇文章主要介绍了python函数不定长参数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 pathon中的函数可以使用不定长参数,可以 ...

  6. Android 如何正确统计页面停留时长

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/112546517 本文出自[赵彦军的博客] 在Android中经常有统计页面停留时长 ...

  7. 在matlab中怎么录制音频_怎么录制淘宝页面中的视频?简单方法,轻松搞定

    原标题:怎么录制淘宝页面中的视频?简单方法,轻松搞定 怎么录制淘宝页面中的视频?当前足不出户,大家就可以在很多的电商平台购买到自己心仪的商品.这其中商机也就产生了,如果不太想上班,或者说想要自己当老板 ...

  8. html和php文件怎么连接,html页面跟php文件连接的方法

    html页面跟php文件连接的方法 发布时间:2020-09-25 11:11:05 来源:亿速云 阅读:115 作者:小新 小编给大家分享一下html页面跟php文件连接的方法,相信大部分人都还不怎 ...

  9. php置顶文章,php实现文章置顶功能的方法

    本文实例讲述了php实现文章置顶功能的方法.分享给大家供大家参考,具体如下: 昨天客户让做文章置顶的功能.自己以前没做过.靠着同事的指点才做了出来.本来挺简单的事情,被自己搞了好久.自己真的缺乏对程序 ...

最新文章

  1. 信息安全 数据赛 铁人三项_2018信息安全铁人三项数据赛题解
  2. 6 OC中 isa 和 superclass 的总结
  3. PostgreSQL备份之手工备份(Low Level API)
  4. JMX操作ActiveMQ(2)
  5. feign调用session丢失解决方案
  6. Eureka服务注册中心---SpringCloud
  7. IOS开发之----常用加密方法
  8. Thread.yield()和Thread.sleep(0)
  9. android.mk简单介绍
  10. 【CSS】利用宽高比例的媒体查询
  11. JavaWeb案例:抽奖小游戏
  12. cad 打开硬件加速卡_CAD2020 使用图块插入命令特别卡怎么办?
  13. iOS 创建 pch 文件
  14. win10怎么更新显卡驱动_win10更新失败无限重启怎么办
  15. org.elasticsearch.discovery.MasterNotDiscoveredException异常解决
  16. 星盘软件测试自学,谁能帮我解读一下我的星盘_测测星座app可以测什么?
  17. JQ对复选框全选、获取复选框的值、回选
  18. 计算机对商务英语的不利之处,商务英语教学中计算机网络利弊分析论文.docx
  19. 特殊的不定方程——毕达哥拉斯三元组(勾股数组)
  20. 研究图灵奖得主是很有意思的事

热门文章

  1. nohup /dev/null 21 含义详解
  2. Symbol MC1000 扫描 冲突问题 把下面文件做成scanwedge.reg的注册表文件,放在Application重起
  3. pom.xml文件详解
  4. 搭建nfs共享存储服务之二nfs服务端配置
  5. 《PHP精粹:编写高效PHP代码》——1.1节为什么要使用面向对象编程
  6. 今天听说了一个压缩解压整型的方式-group-varint
  7. 关于spring 获取不到网站上的xsd的处理记录
  8. 【Spring】使用Spring和AMQP发送接收消息(下)
  9. yum 安装 phpmyadmin
  10. CentOS系统根目录组织结构