本文以实例讲解了asp.net实现生成静态页并添加链接的方法,非常实用的功能,通过本实例可以加深读者对于asp.net下文件操作的认识。
1.创建一个静态网页模板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< title >模板网页</ title >
< meta http-equiv = "Content-Type" content = "text/html; charset=gb2312" >
</ head >
< body >
< table $htmlformat[0] height = "100%" border = "0" width = "100%" cellpadding = "10" cellspacing = "0" gcolor = "#eeeeee" style = "border:1px solid #000000" >
< tr >
< td width = "100%" valign = "middle" align = "left" >
< h1 >$htmlformat[1]</ h1 >
< div style = "color: $htmlformat[2];font-size: $htmlformat[3]" >$htmlformat[4]</ div >
</ td >
</ tr >
</ table >
</ body >
</ html >
|
2.在asp.net网页后台代码中替换模板html页中的标记符
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
protected void Button1_Click( object sender, EventArgs e)
{
string [] format = new string [5]; //定义和htmlyem标记数目一致的数组
StringBuilder htmltext = new StringBuilder();
string templatePath = Server.MapPath( "~/html/Template.html" );
StreamReader sr = new StreamReader(templatePath);
String line;
while ((line = sr.ReadLine()) != null )
{
htmltext.Append(line);
}
sr.Close();
//---------------------给标记数组赋值------------
format[1] = TB_Title.Text;
format[2] = "#990099" ; //字体颜色
format[3] = "60px" ; //文字大小
format[4] = TB_Content.Text;
//----------替换htm里的标记为你想加的内容
for ( int i = 0; i < 5; i++)
{
htmltext.Replace( "$htmlformat[" + i + "]" , format[i]);
}
//----------生成htm文件------------------――
string newfile = Server.MapPath( "~/html/" +TB_Title.Text+ ".html" );
StreamWriter sw = new StreamWriter(newfile, false , System.Text.Encoding.GetEncoding( "GB2312" ));
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
string newhref= "html/" rel= "external nofollow" +TB_Title.Text+ ".html" ;
Response.Write( "<a href=\"" + newhref + "\">" + TB_Title.Text + "</a>" );
}
|