| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2769 人关注过本帖
标题:如何将ASP变成HTML后缀
只看楼主 加入收藏
taoxinhui
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2007-8-7
收藏
 问题点数:0 回复次数:16 
如何将ASP变成HTML后缀
问题如题目,希望各位大虾不吝啬,赐教我这个新手.小弟哭了
搜索更多相关主题的帖子: 后缀 ASP HTML 
2007-11-09 13:57
挥动
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2007-11-7
收藏
得分:0 

看来只有我能回答你了,老鸟看见都笑着走开了~~
asp动态页,html是静态页,
想把asp变成html,就把里头所有<%%>删除,就ok~~~

其实这样没有实际意义,说了等于白说...
你的意思是想动态生成html吗?
用js的 document.writeln("");可以灵活的动态生成html

[此贴子已经被作者于2007-11-9 14:09:52编辑过]


别人笑我忒疯癫,我笑别人看不穿!
2007-11-09 14:03
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
收藏
得分:0 


不知道你是要什么页在变成html。。。。如你所说,那就是一定是生成静态页方法了。


从明天起做幸福的人,喂马劈柴周游世界!
2007-11-09 14:28
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
他的意思就是asp生成html 只是意思表达错了
最简单的asp生成html
[CODE]<%
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
'把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径
xml.Open "GET", "http://bbs.bc-cn.net/dispbbs.asp", False
xml.Send
BodyText=xml.ResponseBody
BodyText=BytesToBstr(BodyText,"gb2312")
Set xml = Nothing
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile(server.MapPath("dispbbs.htm"), True)
MyFile.WriteLine(BodyText)
MyFile.Close
%>[/CODE]

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-11-09 14:53
翊铭
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-10-26
收藏
得分:0 

值得学习~!

2007-11-09 16:38
zhongx
Rank: 2
等 级:论坛游民
威 望:1
帖 子:370
专家分:42
注 册:2007-8-16
收藏
得分:0 
确有过人之处.

感动常在,每天进步一点点,开心学习在编程论坛。
http://www.
2007-11-10 19:07
wslijing
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-6-2
收藏
得分:0 
请问
以下是引用hmhz在2007-11-9 14:53:14的发言:
他的意思就是asp生成html 只是意思表达错了
最简单的asp生成html
[CODE]<%
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
'把下面的地址替换成你的首页的文件地址,一定要用http://开头的绝对路径,不能写相对路径
xml.Open "GET", "http://bbs.bc-cn.net/dispbbs.asp", False
xml.Send
BodyText=xml.ResponseBody
BodyText=BytesToBstr(BodyText,"gb2312")
Set xml = Nothing
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set MyFile= fso.CreateTextFile(server.MapPath("dispbbs.htm"), True)
MyFile.WriteLine(BodyText)
MyFile.Close
%>[/CODE]

这个是加在哪里边呢?每个页面里边吗?

对于那个路径,是不是写了首页地址,其他页面也会变成HTML后缀的呢?


2007-11-13 11:44
wslijing
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-6-2
收藏
得分:0 

[CODE]以下代码就是将一个ASP的动态页面生成一个HTML的静态页面,注释我已经加上了,自己看吧。


FileName = "Index"&Item_Classid&".htm"
FilePath = Server.MapPath("/")&"\"&FileName
Html_Temp = Html_Temp&FilePath&"< >"
以上代码是在建立最终生成静态文件的名称和路径。


Do_Url = "http://"
Do_Url = Do_Url&Request.ServerVariables("SERVER_NAME")&"/detail.asp"
Do_Url = Do_Url&"?Item_Classid="&Item_Classid
strUrl = Do_Url
以上代码是通过拼写Do_Url字符串来获得你所传递过来的文件路径和参数,并最终附值到strUrl变量中。

dim objXmlHttp
set objXmlHttp = Server.CreateObject("Microsoft.XMLHTTP")
objXmlHttp.open "GET",strUrl,false
objXmlHttp.send()
以上这段代码是在通过你所传递过来的strUrl解析该页面中的HTML代码;关键是这句(objXmlHttp.open "GET",strUrl,false )。


Dim binFileData
binFileData = objXmlHttp.responseBody
以上代码是将解析好的HTML代码附到binFileData中

Dim objAdoStream
set objAdoStream = Server.CreateObject("ADODB.Stream")
objAdoStream.Type = 1
objAdoStream.Open()
objAdoStream.Write(binFileData)
objAdoStream.SaveToFile FilePath,2
objAdoStream.Close()

以上这段代码是建立一个文件对象,将所拥有HTML代码的变量binFileData写到该文件中。

Html_Temp = Html_Temp&"<UL>"
Response.Write Html_Temp
Response.Write ( "<BR>" )
Response.Write ( "成功生成文件:" )
以上几句就不用我解释了。。。。:)

其实上面这个做法并不是很科学,还可以将代码更完善些。建议你将这个步骤封装到两个FUNCTION中,这样比较清晰并且方便重复调用,


CreateFile:用于建立生成的静态文件,其中调用GetUrlText进行脚本解析。

Function CreateFile(fileName,url)
Dim fs,fname
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fname = fs.CreateTextFile(FileName, True)
fname.Write GetUrlText(url)
fname.Close
Set fname = Nothing
Set fs = Nothing
End Function

GetUrlText:用语解析传递回来的ASP页面

Function GetUrlText(url)
Dim xmlHttp
Set xmlHttp = server.createobject("MSXML2.ServerXMLHTTP")
xmlHttp.setTimeouts 10000,10000,10000,30000
xmlHttp.Open "GET",url, False
xmlhttp.setRequestHeader "CONTENT-TYPE", "text/xml"
xmlHttp.Send
If xmlHttp.ReadyState = 4 Then
GetUrlText = xmlHttp.responseText
Else
GetUrlText = ""
End If
End Function


里面URL就是你传递过来的地址,而FileName就是生成文件的地址,你在调用时直接调用CreateFile,将FileName和URL传递过去就可以了,怎么样,是不是比上面的看起来清晰很多:)[/CODE]

我昨天找到的,但是放在funtion里边调用又要报错
不知道怎么用的


2007-11-14 10:05
wslijing
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-6-2
收藏
得分:0 

[CODE]<%

Function CreateFile(fileName,url)
Dim fs,fname
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fname =fs.CreateTextFile(FileName,True)
fname.Write GetUrlText(url)
fname.Close
Set fname = Nothing
Set fs = Nothing
End Function

Function GetUrlText(url)
Dim xmlHttp
Set xmlHttp = server.createobject("MSXML2.ServerXMLHTTP")
'xmlHttp.setTimeouts 10000,10000,10000,30000
xmlHttp.Open "GET",url,False
'xmlhttp.setRequestHeader "CONTENT-TYPE", "text/xml"
xmlHttp.Send
If xmlHttp.ReadyState = 4 Then
GetUrlText = xmlHttp.responseText
Else
GetUrlText = ""
End If
End Function

Dim Url

CreateFile Server.MapPath("index.html"),"http://localhost/CeShi/aspnet/index.asp"

response.Redirect "index.html"
%>
[/CODE]

把这个贴在index.asp中,可以生成index.html,但是页面没有数据

可能是这Set xmlHttp = server.createobject("MSXML2.ServerXMLHTTP")错了吧

怎么改呢?


2007-11-14 10:58
疯狂的探索者
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2007-10-20
收藏
得分:0 

不太明白啊,大侠们,说清楚一点行吗?我请教了.

我是个asp的初学者,希望各位高手们多多指点!!!呵呵
2007-11-14 11:01
快速回复:如何将ASP变成HTML后缀
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013025 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved