• asp.net 长内容文章自动分页


    前台代码:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="articleview.aspx.cs" Inherits="articleview" %>
    <%@ Register Src="~/head.ascx" TagName="head" TagPrefix="uc1" %>
    <%@ Register Src="~/right.ascx" TagName="right" TagPrefix="uc2" %>
    <%@ Register Src="~/foot.ascx" TagName="foot" TagPrefix="uc3" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title><%# strTitle %>-评选动态-校园十大人物评选活动-山东建筑大学法政学院</title>
    <link href="css.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <form id="form1" runat="server">
        <div class="warper">
            <uc1:head ID="head" runat="server" />
            <div class="content">
                <div class="left_cont">
                     <div class="daohang">当前位置:<a href="default.aspx">首页</a> >> <a href="dongtai.aspx"> 评选动态</a> >> 正文</div>
                    <div class="pxdt third">
                        <div class="cont_title"> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></div>
                        <div class="a_page f_color">文章发表时间:<span><asp:Label ID="Label2" runat="server" Text="Label"></asp:Label></span>  来源:<span><asp:Label ID="Label3" runat="server" Text="Label"></asp:Label></span></div>
                        <div class="body_cont">
                            <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
                            <asp:Label ID="labPageNumber" Font-Size="14px" runat="server"> </asp:Label>
                        </div>
                    </div>
                </div>
                <uc2:right ID="right" runat="server" />
                <div class="clear"></div>
            </div>
            <uc3:foot ID="foot" runat="server" />
            
        </div>
    </form>
    </body>
    </html>

    后台代码:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class articleview : System.Web.UI.Page
    {
        DbClass.DbAccesscontrol conn = new DbClass.DbAccesscontrol();
        public string strTitle = "";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                string strid = Request.QueryString["id"].ToString();
                int fid = 1;
                try
                {
                    fid = int.Parse(strid);
                }
                catch
                { }

                string strsql = "select * from YS_NewsInfo where id=" + fid;
                DataTable dt = (DataTable)conn.gettable(strsql);
                strTitle = dt.Rows[0]["title"].ToString();
                Label1.Text = dt.Rows[0]["title"].ToString();
                Label2.Text = dt.Rows[0]["datetime"].ToString();
                Label3.Text = dt.Rows[0]["from"].ToString();
                Label4.Text = OutputBySize(Server.HtmlDecode(dt.Rows[0]["info"].ToString()),fid);
                DataBind();

            }
        }

        //public string OutputArticle(string strcontent)
        //{
        //    string strid = Request.QueryString["id"].ToString();
        //    int fid = 1;
        //    try
        //    {
        //        fid = int.Parse(strid);
        //    }
        //    catch
        //    { }

        //    string strsql = "select * from YS_NewsInfo where id=" + fid;
        //    DataTable dt = (DataTable)conn.gettable(strsql);
        //    //strTitle = dt.Rows[0]["title"].ToString();
        //    //Label1.Text = dt.Rows[0]["title"].ToString();
        //    //Label2.Text = dt.Rows[0]["datetime"].ToString();
        //    //Label3.Text = dt.Rows[0]["from"].ToString();
        //    //Label4.Text = OutputBySize(Server.HtmlDecode(dt.Rows[0]["info"].ToString()));
        //    //DataBind();
        //    //return conn.NoHTML(Server.HtmlDecode(dt.Rows[0]["info"].ToString()));
        //    return Server.HtmlDecode(dt.Rows[0]["info"].ToString());
        //}

        public string OutputBySize(string p_strContent,int pageid)
        {
            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
                    {
                        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=articleview.aspx?id=" + pageid + "&pages=" + i + ">" + i + "</a>|";
                }
                //输出显示各个页码
                this.labPageNumber.Text = m_strPageInfo;
            }
            return m_strRet;
        }
    }
  • 相关阅读:
    共创力董事长杨学明先生受邀参加CED智慧大会!
    杨学明老师为华宇金信(北京)软件有限公司提供为期两天的内训服务!
    《互联网敏捷测试管理实践》课程大纲 2018.12.15~16 (上海)
    共创力咨询杨学明老师为国电南瑞提供两天的内训服务!
    《软件测试管理》深圳公开课预告 2018.11.23~24 中南海滨大酒店
    软件测试管理的十大挑战
    对于开发人员修改代码引发新问题的处理措施
    热烈庆祝杨学明老师为上海某著名金融互联网公司提供两天的内训服务!
    《高效的互联网研发项目管理》课程大纲
    《软件测试管理》北京公开课预告 2018.9.28~29
  • 原文地址:https://www.cnblogs.com/qingshan/p/1627892.html
Copyright © 2020-2023  润新知