手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >asp.net生成静态页并分页+ubb第1/2页
asp.net生成静态页并分页+ubb第1/2页
摘要:作为练习我加入了“插入代码”“插入运行代码”,大家可以看情况,加入其他UBB。2、代码:default.aspx.cs复制代码代码如下:us...

asp.net生成静态页并分页+ubb第1/2页1

asp.net生成静态页并分页+ubb第1/2页2

asp.net生成静态页并分页+ubb第1/2页3

asp.net生成静态页并分页+ubb第1/2页4

作为练习我加入了“插入代码”“插入运行代码”,大家可以看情况,加入其他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) + "页</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("rn","<br />");

Regex r;

Match m;

//code

r = new Regex(@"([code])([sS]+?)([/code])", RegexOptions.IgnoreCase);

for (m = r.Match(sDetail); m.Success; m = m.NextMatch())

{

sDetail = sDetail.Replace(m.Groups[0].ToString(), "<textarea rows="15" >" + m.Groups[2].ToString().Replace("<br />","n")+ "</textarea><br />");

}

int i = 1;

//html

r = new Regex(@"([html])([sS]+?)([/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" id="code" + i + "">" + m.Groups[2].ToString().Replace("<br />","n") + "</textarea><br /><input type='button' value='运行代码' onclick="runCode('code" +i+ "')" /><input type='button' value='复制代码' onclick="copyCode('code" +i+ "')" />");

}

return sDetail;

}

//写文件

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 = "不存在相应的目录";

else

{

StreamReader f2 = new StreamReader(Path, System.Text.Encoding.GetEncoding("utf-8"));

s = f2.ReadToEnd();

f2.Close();

f2.Dispose();

}

return s;

}

}

当前1/2页12下一页阅读全文

【asp.net生成静态页并分页+ubb第1/2页】相关文章:

asp.net Context.Handler 页面间传值方法第1/2页

asp.net gridview多页时的批量删除

asp.net+js实时奥运金牌榜代码第1/2页

asp.net for循环语句第1/2页

.net三层结构初探分析第1/4页

asp.net gridview 72般绝技第1/2页

asp.net创建位图生成验证图片类

asp.net get set用法第1/2页

asp.net刷新本页面的六种方法

asp.net自定义控件代码学习笔记

精品推荐
分类导航