C#新闻内容过长,内容分页

//前台代码
//用一个控件接收
<asp:Literal ID="litText" runat="server"></asp:Literal>                     
<div ID="NewPagePanel" class="badoo" runat="server"></div>


 

//后台代码 

//数据库查询
string sql = "select Class_ID,Class_Name_cn,Class_Content_cn from web_class where Class_id='" + Class_ID + "'";
        DataTable dt = MyData.ExecuteDt(sql);
        int newPageId = 1;
        if (Request.QueryString["newPageId"] != null)
        {
            newPageId = Convert.ToInt32(Request.QueryString["newPageId"]);
        } 
        
        if (dt.Rows.Count > 0)
        {
             litText.Text = SetNewMainPage(Server.HtmlDecode(dt.Rows[0]["Class_Content_cn"].ToString()).ToString().Replace("<div", "<p").ToString().Replace("div>", "p>").ToString(), newPageId, Class_ID);
        }
        else
        {
            litText.Text = "暂无数据!!";
        }
 
//核心代码
private string SetNewMainPage(string newMainText, int newPageId, string id) //新闻分页的方法,newMainText是新闻正文字符串,newPageId表示当前为该新闻的哪一页,id表示新闻的id号。
    {
        string strContent = newMainText;
        ArrayList min = new ArrayList();
        string[] strNew = new string[10];
        int index = 0;
        while (!string.IsNullOrEmpty(strContent))
        {
            if (strContent.Length <= 5800 || index >= 8) 
            {
                //  Response.Write(index); return null;
                //   Response.End();

                strNew[index] = strContent;
                break;
            }
            else
            {
                strNew[index] = strContent.Substring(0, strContent.IndexOf("<p", 5000));
                strContent = strContent.Remove(0, strContent.IndexOf("<p", 5000));
                index++;
            }
        }
        //下面的是为了前台显示新闻页面导航按钮能够居中,将其放到一个表格里。
        //增加包围新闻页面链接的层
        Table badoo = new Table();
        TableRow row = new TableRow();
        TableCell cell = new TableCell();
        cell.Attributes.Add("style", "height:30px;line-height:30px;text-align:right;padding-right:50px;margin:0px auto;width:560px;");
        badoo.Controls.Add(row);
        row.Controls.Add(cell);
        badoo.Attributes.Add("class", "badoo");
        NewPagePanel.Controls.Add(badoo);

        for (int i = 0; i < strNew.Length; i++)
        {
            if (strNew[i] != null)
            {

                HyperLink HyperLink1 = new HyperLink();
                HyperLink1.ID = "HyperLink" + i;
                HyperLink1.NavigateUrl = "~/about.aspx?&label=" + Request.QueryString["label"] + "&id=" + Request.QueryString["id"] + "&newPageId=" + (i + 1);
                HyperLink1.Text = (i + 1).ToString();
                HyperLink1.Attributes.Add("class", "newHref"); 
                if (newPageId == (i + 1))
                {                    
                    HyperLink1.Attributes.Add("style", "padding:5px;margin:3px;background-color:#cc0000;color:#000;background:border:1px #CCCCCC solid;");
                }
                else
                {
                    HyperLink1.Attributes.Add("style", "padding:5px;margin:3px;color:#000;border:1px #CCCCCC solid;");
                }
                cell.Controls.Add(HyperLink1);
            }
            if (strNew[i] == null)
            {
                min.Add(i);
            }
        }
        //增加clear层,为了兼容css增加一个<div style="clear:both"/>层
        Panel clearDiv = new Panel();
        clearDiv.Attributes.Add("class", "clear");
        cell.Controls.Add(clearDiv);
        //防止用户通过更改地址栏而导航到本不存在的新闻页面
        if (newPageId >= (int.Parse(min[0].ToString()) + 1))
        {
            Response.Write("<script>alert('您访问的页面不存在');window.close();</script>");
            Response.End();
            return null;
        }
        if (int.Parse(min[0].ToString()) <= 1)
        {
            NewPagePanel.Visible = false;
        }
        return strNew[newPageId - 1].ToString(); 
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值