关于生成HTML页面
我是个新手啦。
看到现在asp编的许多下载站原程序,都是生成HTML代码的。
他们是在后台添加一个软件后直接生成了一个HTML页。应该是通过一个HTML模板。
我想知道在asp.net里怎么实现这种功能,看了几个简单的例子好象都有错误。
有哪位高手愿意详细说明一下,我想有许多新手都卡在这了,很多地方不明白,希望各位高手能帮帮忙,或者找到一个比较好的例子原码给我们看一下。在这里谢谢各位高手了。希望能多帮助我们这些新手,真的很想学好这门语言。
问题点数:0、回复次数:13Top
1 楼askv(想学)回复于 2004-12-01 23:44:26 得分 0
国际惯例自己顶一下Top
2 楼askv(想学)回复于 2004-12-01 23:44:33 得分 0
国际惯例自己顶一下Top
3 楼suosa(快乐每一天)回复于 2004-12-01 23:47:20 得分 0
不会
顶Top
4 楼silentwins(原谅我当天不懂得珍惜只知任性...)回复于 2004-12-02 00:23:01 得分 0
不知道什么意思,帮顶!Top
5 楼czclk()回复于 2004-12-02 00:32:36 得分 0
简单的HTML网页生成代码
定义(template.htm)html模板页面
<html>
<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" bgcolor="#eeeeee" style="border:1px solid #000000">
<tr>
<td width="100%" valign="middle" align="left">
<span style="color: $htmlformat[1];font-size: $htmlformat[2]">$htmlformat[3]</span>
</td>
</tr>
</table>
</body>
</html>
asp.net代码:
//---------------------读html模板页面到stringbuilder对象里----
string[] format=new string[4];//定义和htmlyem标记数目一致的数组
StringBuilder htmltext=new StringBuilder();
try
{
using (StreamReader sr = new StreamReader("存放模板页面的路径和页面名"))
{
String line;
while ((line = sr.ReadLine()) != null)
{
htmltext.Append(line);
}
sr.Close();
}
}
catch
{
Response.Write("<Script>alert('读取文件错误')</Script>");
}
//---------------------给标记数组赋值------------
format[0]="background="bg.jpg"";//背景图片
format[1]= "#990099";//字体颜色
format[2]="150px";//字体大小
format[3]= "<marquee>生成的模板html页面</marquee>";//文字说明
//----------替换htm里的标记为你想加的内容
for(int i=0;i<4;i++)
{
htmltext.Replace("$htmlformat["+i+"]",format[i]);
}
//----------生成htm文件------------------――
try
{
using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312")))
{
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
}
}
catch
{
Response.Write ("The file could not be wirte:");
}
Top
6 楼askv(想学)回复于 2004-12-02 02:13:05 得分 0
for(int i=0;i<4;i++)
{
htmltext.Replace("$htmlformat["+i+"]",format[i]);
}
这句生成的时候出现错误,请问怎么回事?
说我D:\aspx\askv\WebForm1.aspx.cs(77): 与“System.Text.StringBuilder.Replace(string, string)”最匹配的重载方法具有一些无效参数
D:\aspx\askv\WebForm1.aspx.cs(77): 参数“2” : 无法从“string[]”转换为“string”
Top
7 楼askv(想学)回复于 2004-12-02 02:14:43 得分 0
哦。已经解决。呵呵。是我看错了Top
8 楼askv(想学)回复于 2004-12-02 02:20:15 得分 0
请问我要如何随机生成html的名字
using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312")))
{
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
}
Top
9 楼kjn(八批浪)回复于 2004-12-02 04:15:54 得分 0
Now.ToFileTimeUtc
生成随机文件名Top
10 楼askv(想学)回复于 2004-12-02 11:15:24 得分 0
能具体说一下吗?不知道该如何用?
now在里面打不出来?
例如下面的例子,我该如何修改。
using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312")))
{
sw.WriteLine(htmltext);
sw.Flush();
sw.Close();
}Top
11 楼askv(想学)回复于 2004-12-02 12:52:24 得分 0
................Top
12 楼minghui000(沉迷网络游戏)回复于 2005-03-19 00:50:20 得分 0
upTop
13 楼lovelxj(伊斯人,吾谁与归)回复于 2005-03-21 20:40:56 得分 0
思路就是定义一个模板 把要替换的内容都用特殊的标志插在里面
在生成新的页面时 只要把这些文字替换即可,然后保存成新的页面就OKTop




