当前位置:  编程技术>.net/c#/asp.net

asp.net实现新闻页分页功能

    来源: 互联网  发布时间:2014-08-30

    本文导语:  通过Freetextbox添加的新闻因为包含HTML标记,因此在分页时不能按照字数划分,而且每一段的内容不便拆开,可以在按字数分段后查找下一个标记,使得每一段都不至显示在两页中。 例子,asp.net新闻分页功能代码。   代码示例...

通过Freetextbox添加的新闻因为包含HTML标记,因此在分页时不能按照字数划分,而且每一段的内容不便拆开,可以在按字数分段后查找下一个

标记,使得每一段都不至显示在两页中。

例子,asp.net新闻分页功能代码。
 

代码示例:

//生成静态网页
string path = Server.MapPath("~/news/" + folder + "/");
string file_template_name = Server.MapPath("~/news/template.htm");   //新闻模版文件
string file_template_content = "";
StreamReader sr_reader = new StreamReader(file_template_name, Encoding.GetEncoding("gb2312"));
file_template_content = sr_reader.ReadToEnd();
sr_reader.Close();
string[] subContent = FileSplit(content);
string file_content = "";
int pageNum = 0;
while (pageNum < 10 && subContent[pageNum] != "" && subContent[pageNum] != null)
    pageNum++;
for (int index = 0; index < pageNum; index++)
{
    file_content = file_template_content;
    file_content = file_content.Replace("$$category", list_department.SelectedItem.Text);    //新闻类别
    file_content = file_content.Replace("$$title", title);   //新闻标题
    file_content = file_content.Replace("", "来源:" + author);        //作者
    file_content = file_content.Replace("$$time", time);         //添加时间
    file_content = file_content.Replace("$$content", subContent[index]);       //新闻正文
    string pageLink = "";
    int firstPage = 0;
   //生成页码
    if (index > 2) firstPage = index - 2;
    for (int i1 = firstPage; i1 < index + 3 && i1 < pageNum; i1++)
    {
        if (i1 == index)
pageLink = pageLink + "[" + (index + 1) + "]" + "       ";
        else pageLink = pageLink + "[" + (i1 + 1) + "]       ";

    }
    if (index < pageNum - 1)
        pageLink = pageLink + "" + "下一页" + "       ";
    if (index > 0)
        pageLink = "" + "上一页" + "       " + pageLink;
    file_content = file_content.Replace("", pageLink);
    if (index == pageNum - 1&&attachment_filename != null && attachment_filename != String.Empty)
    {
        string[] attachment = attachment_filename.Split(new char[] { '|' });
        string attachmenthtml = "" + attachment[0] + "";
        for (int j = 1; j < attachment.Length; j++)
attachmenthtml = attachmenthtml + "
               " + attachment[j] + "";
        file_content = file_content.Replace("$$attachment", attachmenthtml);
    }
    StreamWriter sw = new StreamWriter(path + htmlfilename + index + ".htm", false, Encoding.GetEncoding("gb2312"));
    sw.Write(file_content);
    sw.Flush();
    sw.Close();
}
HyperLink1.Text = "预览: " + title;
HyperLink1.NavigateUrl = "../news/" + folder + "/" + htmlfilename  + "0" + ".htm";
HyperLink1.Visible = true;
txt_time.Text = DateTime.Now.ToString("yyyy-MM-dd");
txt_title.Text = "";
txt_author.Text = "";
FreeTextBox1.Text = "";
}
catch (Exception e)
{
 }
 }
//将正文分成多个页面
protected string[] FileSplit(string fileContent)
{
 int fileIndex = 0;
 string[] splitedFile = new string[10];
 while (fileContent.Length > 1500 && fileIndex < 9)    //每页至少1500个字符
{
if (fileContent.IndexOf("

", 1500) < 0) break;
   splitedFile[fileIndex] = fileContent.Substring(0, fileContent.IndexOf("

", 1500));
   fileContent = fileContent.Remove(0, splitedFile[fileIndex].Length);
   fileIndex++;
}
   splitedFile[fileIndex] = fileContent;   //超过9页,剩下部分全放第十页
   return splitedFile;
}
}


    
 
 

您可能感兴趣的文章:

  • 在ASP中可以轻易实现,不知道在JSP中能否实现?
  • Linux平台下哪种方法实现ASP好?
  • 求解!Java如何能在多个applet之间实现类似asp的session类!
  • 调试jsp的时如何实现像asp中的response.end的效果
  • 怎么用能让asp实现统计在线人数的功能。在线等待!!!帮忙送分!
  • 在jsp 中如何实现像asp 中的页面弹出式的菜单
  • asp.net 参数不同共用一个页面的实现方法
  • Asp.net防止重复提交的实现方法
  • 用linux做服务器运行ASP.net网站,请问具体怎样实现??
  • ASP.NET MVC3 实现全站重定向的简单方法
  • 在jsp中如何实现与asp中的Request.ServerVariables("SCRIPT_NAME")同等的功能?
  • Jsp中怎么实现类似ASP中split函数的功能?
  • 如何实现ASP中类似Global.asa的功能???
  • jsp中如何实现asp中的response.end,或php中的exit()功能?
  • java实现的asp服务器 OpenASP
  • ASP的功能在JSP中怎么实现呀?谢谢!!!
  • asp去掉html,保留img br p div的正则实现代码
  • asp.net 实现php的md5()函数功能
  • asp.net session实现用户登录的疑问
  • 怎样将Tomcat嵌入IIS中,实现用ASP与JSP都用IIS来做!
  • asp.net文字水印功能简单代码
  • 请问在JSP中有没有象ASP中Response.End这样的功能?
  • 请问JSP中是否有重定向的语句?与ASP中的Response.redirect功能类似。
  • asp.net css控制打印功能的方法分享
  • asp.net实现找回密码功能的代码
  • asp.net发邮件找回密码的功能
  • asp.net使用jquery实现搜索框默认提示功能
  • asp.net+ajax+sqlserver自动补全功能实现解析
  • asp.net使用cookie与md5加密实现记住密码功能
  • ASP.NET中的DataGridView绑定数据和选中行删除功能具体实例
  • ASP.net中实现基于UrlRewrite的防盗链功能
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net实例 定义和使用asp:AccessDataSource
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • ASP和ASP.Net共享Session解决办法
  • 通过socket和asp打交道
  • 犹豫中……,到底是选择ASP,还是JSP?
  • asp 是否 可用applet标签?帮忙!!
  • asp.net判断数据库表是否存在 asp.net修改表名的方法
  • 新人提问:asp+access的程序在linux下怎么改?
  • 用JAVA APPLET做的交互式网页和ASP、PHP做的相比有什么优势呢?
  • asp里面可否使用java写的邮件,给30分.
  • asp与Jsp可否在iis中共存的问题
  • 实现Asp与Asp.Net共享Session的方法
  • 在ASP 有SPLIT ;JSP里怎样写


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3