asp.net生成靜態(tài)頁(yè)并分頁(yè)+ubb第1/2頁(yè)




作為練習(xí)我加入了“插入代碼”“插入運(yùn)行代碼”,大家可以看情況,加入其他UBB。
2、代碼:
default.aspx.cs
using System;
using System.Data;
using System.Configuration;
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;
using System.Text.RegularExpressions;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnOk_Click(object sender, EventArgs e)
{
string path = Server.MapPath("~/template/news.htm");
string toPath = Server.MapPath("~/news/");
string[] tempContent = new string[] { };
string s1 = ReadFile(path);
string title = this.tbxTitle.Text;
string content = UBB(this.tbxContent.Text);
string s3 = string.Empty;
content = content.Replace("[ page]","¤");
tempContent = content.Split('¤');
string pageNav = string.Empty;
for (int j = 0; j < tempContent.Length; j++)
{
pageNav += "<a href='" + (j + 1) + ".htm'>第" +(j + 1) + "頁(yè)</a> ";
}
for (int i = 0; i < tempContent.Length; i++)
{
s3 = s1.Replace("$title$", title);
s3 = s3.Replace("$content$", tempContent[i].ToString());
s3 = s3.Replace("$pagelist$",pageNav);
WriteFile(toPath + (i + 1) + ".htm", s3);
s3 = string.Empty;
}
}
//ubb替換
public String UBB(string sDetail)
{
sDetail = Server.HtmlEncode(sDetail);
sDetail = sDetail.Replace("\r\n","<br />");
Regex r;
Match m;
//code
r = new Regex(@"(\[code\])([\s\S]+?)(\[\/code\])", RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
sDetail = sDetail.Replace(m.Groups[0].ToString(), "<textarea style=\"border:1px solid #94BBE2;background:#FAFAFA;width:90%;cursor:default;padding:5px;\" rows=\"15\" >" + m.Groups[2].ToString().Replace("<br />","\n")+ "</textarea><br />");
}
int i = 1;
//html
r = new Regex(@"(\[html\])([\s\S]+?)(\[\/html\])",RegexOptions.IgnoreCase);
for (m = r.Match(sDetail); m.Success; m = m.NextMatch())
{
i = i + 1;
sDetail = sDetail.Replace(m.Groups[0].ToString(),"<textarea rows=\"12\" style=\"width:90%\" id=\"code" + i + "\">" + m.Groups[2].ToString().Replace("<br />","\n") + "</textarea><br /><input type='button' value='運(yùn)行代碼' onclick=\"runCode('code" +i+ "')\" /><input type='button' value='復(fù)制代碼' onclick=\"copyCode('code" +i+ "')\" />");
}
return sDetail;
}
//寫(xiě)文件
public static void WriteFile(string Path, string Strings)
{
if (!System.IO.File.Exists(Path))
{
System.IO.FileStream f = System.IO.File.Create(Path);
f.Close();
}
System.IO.StreamWriter f2 = new System.IO.StreamWriter(Path, false, System.Text.Encoding.GetEncoding("utf-8"));
f2.Write(Strings);
f2.Close();
f2.Dispose();
}
//讀文件
public static string ReadFile(string Path)
{
string s = "";
if (!System.IO.File.Exists(Path))
s = "不存在相應(yīng)的目錄";
else
{
StreamReader f2 = new StreamReader(Path, System.Text.Encoding.GetEncoding("utf-8"));
s = f2.ReadToEnd();
f2.Close();
f2.Dispose();
}
return s;
}
}
- ASP.NET AJAX 4.0的模版編程(Template Programming)介紹
- asp.net實(shí)現(xiàn)生成靜態(tài)頁(yè)并添加鏈接的方法
- Asp.Net生成靜態(tài)頁(yè)面的實(shí)現(xiàn)方法
- ASP.NET動(dòng)態(tài)生成靜態(tài)頁(yè)面的實(shí)例代碼
- ASP.NET MVC3關(guān)于生成純靜態(tài)后如何不再走路由直接訪(fǎng)問(wèn)靜態(tài)頁(yè)面
- 使用ASP.NET模板生成HTML靜態(tài)頁(yè)面的五種方案
- asp.net 生成靜態(tài)頁(yè)筆記
- Asp.Net 生成靜態(tài)頁(yè)并實(shí)現(xiàn)分頁(yè)效果
- Asp.NET 生成靜態(tài)頁(yè)面并分頁(yè)的代碼
- ASP.NET 生成靜態(tài)頁(yè)面 實(shí)現(xiàn)思路
- asp.net 生成靜態(tài)頁(yè)時(shí)的進(jìn)度條顯示
- asp.net基于替換模版頁(yè)的形式生成靜態(tài)頁(yè)的方法
相關(guān)文章
.net core下配置訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)操作
本篇文章給大家詳細(xì)分享了在.net core下配置訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的相關(guān)操作過(guò)程以及代碼實(shí)現(xiàn)過(guò)程,有興趣的朋友參考下。2018-03-03
Asp.Net 動(dòng)態(tài)頁(yè)面轉(zhuǎn)靜態(tài)頁(yè)面主要代碼
關(guān)于在Asp.Net中動(dòng)態(tài)頁(yè)面轉(zhuǎn)靜態(tài)頁(yè)面的方法網(wǎng)上比較多。結(jié)合實(shí)際的需求,我在網(wǎng)上找了一些源代碼,并作修改?,F(xiàn)在把修改后的代碼以及說(shuō)明寫(xiě)一下。2009-12-12
.NET實(shí)現(xiàn)Repeater控件+AspNetPager控件分頁(yè)
本文給大家分享的2個(gè)示例,演示AspNetPager最基本的功能,幫助您認(rèn)識(shí)AspNetPager分頁(yè)控件及了解它的工作原理。有需要的小伙伴可以參考下2015-11-11
ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解
本文將詳細(xì)介紹如何使用Connection對(duì)象連接數(shù)據(jù)庫(kù) 。對(duì)于不同的.NET 數(shù)據(jù)提供者,ADO.NET采用不同的Connection對(duì)象連接數(shù)據(jù)庫(kù)。這些Connection對(duì)象為我們屏蔽了具體的實(shí)現(xiàn)細(xì)節(jié),并提供了一種統(tǒng)一的實(shí)現(xiàn)方法。2009-07-07
Visual Studio for Mac版 初體驗(yàn)
這篇文章主要介紹了Visual Studio for Mac版 初體驗(yàn),本文圖文并茂給大家介紹的非常詳細(xì),需要的朋友可以參考下2017-05-05
在Asp.net網(wǎng)頁(yè)上寫(xiě)讀Cookie的兩種不同語(yǔ)法介紹
asp.net開(kāi)發(fā)時(shí),為了存儲(chǔ)一些信息通常是Session與Cookie同時(shí)使用,本文將會(huì)補(bǔ)充一下Cookie相關(guān)的資料,感興趣的朋友可以了解一下在網(wǎng)頁(yè)上寫(xiě)讀Cookie的實(shí)現(xiàn),希望本文對(duì)你有所幫助2013-01-01
ASP.NET MVC4 利用uploadify.js多文件上傳
本文主要介紹了ASP.NET MVC4利用uploadify.js實(shí)現(xiàn)多文件上傳的方法代碼。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
.NET使用DinkToPdf將HTML轉(zhuǎn)成PDF的示例代碼
這篇文章主要介紹了.NET使用DinkToPdf將HTML轉(zhuǎn)成PDF的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
GridView自定義分頁(yè)實(shí)例詳解(附demo源碼下載)
這篇文章主要介紹了GridView自定義分頁(yè)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了GridView自定義分頁(yè)所涉及的樣式布局及功能實(shí)現(xiàn)相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-03-03
Entity?Framework管理一對(duì)一實(shí)體關(guān)系
本文詳細(xì)講解了Entity?Framework管理一對(duì)一實(shí)體關(guān)系的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03

