电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> vb.net>>asp.net用vb.net生成html静态页面一例:

asp.net用vb.net生成html静态页面一例

来源:网络 | 2013-4-27 | (有2176人读过)

通过测试几种方法,感觉根据模板生成静态页面的方法比较快,根据网上的例子,自己做了修改,实例如下:  

模板文件代码(template.htm),该代码文件可根据情况修改 

<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文件代码 

Imports System.IO 

Partial Class html 
    Inherits System.Web.UI.Page 
    Sub Page_load(ByVal sender As Object, ByVal e As EventArgs) 

        Dim dtread As StreamReader 
        Dim ststring As String = "" 

        dtread = File.OpenText(Server.MapPath(".") + "\template\template.htm")  ’vb文件所在路径或者指定的路径template.htm为模板文件 


        Do 
            ststring = ststring + dtread.ReadLine + Chr(13)  ’加chr(13)的目的是生成的静态文件有换行,看代码好看 
        Loop Until dtread.EndOfStream = True    ’这个地方采用dtread.EndOfStream = True,直到读完整个文件,这个地方网上的例子都采用dtread.readline()="",感觉这样有问题,而且绝对有问题,所以我修改为如此 

        dtread.Close() 

’’设置模板中的变量,用指定的代码去修改,如果模版很小,且有固定的内容,可以用下代替,对于不固定的,可以在设置替换代码时,读取保存在数据库中的内容来代替,比如:文章内容,可以在保存到数据库后,再读取内容,然后付给相应的变量,再替换模板中的固定变量 


        Dim format(4) As String   
        Format(0) = "background=bg.jpg" 
        Format(1) = "#990099" ’;//字体颜色 
        Format(2) = "150px" ’;//字体大小 
        format(3) = "<marquee>生成的模板html页面</marquee>" ’;//文字说明 


        ’//----------替换htm里的标记为你想加的内容 
        Dim i As Integer = 0 
        For i = 0 To 3 
            ststring = Replace(ststring, "$htmlformat[" + i.ToString + "]$", format(i)) 
            Response.Write("$htmlformat[" + i.ToString + "]$") 
        Next 


        ’//----------生成htm文件------------------―― 

        Try 

            Dim sw As New StreamWriter(Server.MapPath(".") + "/test.htm", False, System.Text.Encoding.GetEncoding("GB2312"))    ’对于路径和生成的文件名,在正式的大型网站设计中,可以通过相应的规则,比如根据now函数将生成的文件名设置为日期的值 

            sw.WriteLine(ststring) 
            sw.Flush() 
            sw.Close() 

        Catch 
            Response.Write("The file could not be wirte:") 
        End Try 

    End Sub 
End Class 
vb.net热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号