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 (pageNum10subContent[pageNum] != ""subContent[pageNum] != null)pageNum++;for (int index = 0; indexpageNum; 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--", "来源:" + author); //作者file_content = file_content.Replace("$$time", time); //添加时间file_content = file_content.Replace("$$content", subContent[index]); //新闻正文string pageLink = "";int firstPage = 0;//生成页码if (index2) firstPage = index - 2;for (int i1 = firstPage; i1index + 3i1pageNum; i1++){if (i1 == index)pageLink = pageLink + "[" + (index + 1) + "]" + "nbsp; nbsp; nbsp; nbsp;";else pageLink = pageLink + "a rel="nofollow" href=" + htmlfilename + i1 + ".htm[" + (i1 + 1) + "]/anbsp; nbsp; nbsp; nbsp;";}if (indexpageNum - 1)pageLink = pageLink + "a rel="nofollow" href=" + htmlfilename + (index + 1) + ".htm" + "下一页" + "/anbsp; nbsp; nbsp; nbsp;";if (index0)pageLink = "a rel="nofollow" href=" + htmlfilename + (index - 1) + ".htm" + "上一页" + "/anbsp; nbsp; nbsp; nbsp;" + pageLink;file_content = file_content.Replace("!-- $$pageLink --", pageLink);渣拍仔if (index == pageNum - 1attachment_filename != nullattachment_filename != String.Empty){string[] attachment = attachment_filename.Split(new char[] { '|' });string attachmenthtml = "a rel="nofollow" href="attachment/" + attachment[0] + "" " + attachment[0] + "/a";for (int j = 1; jattachment.Length; j++)attachmenthtml = attachmenthtml + "br/ nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;a rel="nofollow" href="attachment/" + attachment[j] + "" " + attachment[j] + "/a";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.Length1500fileIndex9) //每页至少1500个字符{if (fileContent.IndexOf("P", 1500)0) break;splitedFile[fileIndex] = fileContent.Substring(0, fileContent.IndexOf("P", 1500));fileContent = fileContent.Remove(0, splitedFile[fileIndex].Length);fileIndex++;}splitedFile[fileIndex] = fileContent; //超过9页,剩下部分全放第十页return splitedFile;}}