asp批量生成html文件问题。。。急帮。。
请高手改一下代码:问题,第一张页面栏目是正确的,第二张页面开始栏目就加上了《栏目1+栏目2》《栏目1+栏目2+栏目3》《栏目1+栏目2+栏目3+栏目4》。。该怎么解决?比...
请高手改一下代码:
问题,第一张页面栏目是正确的,第二张页面开始栏目就加上了《栏目1+栏目2》《栏目1+栏目2+栏目3》《栏目1+栏目2+栏目3+栏目4》。。该怎么解决?
比如说:
第一张页面-国际新闻
| 首页 | 国际新闻 | 国内新闻 |
栏目1 | 栏目2 |
第二张页面- 国内新闻
| 首页 | 国际新闻 | 国内新闻 |
在这里加上了 国际新闻的 栏目1 | 栏目2 |+| 栏目1 | 栏目2 |
应该是 国内新闻的| 栏目1 | 栏目2 |
怎么解决?
<%dim TempString1
TempString1="..\template\nav.tpl"
Function ReadFromUTF1(TempString1,CharSet)
Dim str1
Set stm1=server.CreateObject("adodb.stream")
stm1.Type=2
stm1.Mode=3
stm1.Charset=CharSet
stm1.Open
stm1.loadfromfile Server.MapPath("..\template\nav.tpl")
str1=stm1.readtext
stm1.Close
Set stm1=Nothing
ReadFromUTF1=str1
End Function
dim nav_name,nav_mian,navv
Set rs=Server.CreateObject("adodb.recordset")
sql="select * from nav where nav_b=true"
rs.open sql,conn,1,1
do while not rs.eof
dim id
id=rs("nav_id")
'问题在这里,第一个栏目是正确的,第二栏目开始就加上了《栏目1+栏目2》《栏目1+栏目2+栏目3》《栏目1+栏目2+栏目3+栏目4》。。该怎么解决?
set rstr = server.createobject("adodb.recordset")
sqltr="select * from nav where nav_b="&false&" and x_y="&true&" and nav_b_id="&id
rstr.open sqltr,conn,1,1
if rstr.recordcount=0 then
navv=""
else
do while not rstr.eof
navv = navv &"<a href='"&rstr("nav_url")&"' target='"&rstr("target")&"'>"&rstr("nav_name")&"</a>"
rstr.movenext
loop
end if
dim path
path=rs("nav_url")
Dim Fso:Set Fso=CreateObject("Scripting.FileSystemObject")
Dim TemplateFile,TemplateContent
Set TemplateFile=Fso.OpenTextFile(Server.MapPath("..\template\nav.tpl"))
TemplateContent=TemplateFile.ReadAll
TemplateFile.Close
Set TemplateFile=Nothing
TemplateContent=ReadFromUTF1(TemplateContent,"utf-8")
TemplateContent=Replace(TemplateContent,"{navn}",navn)
TemplateContent=Replace(TemplateContent,"{navv}",navv)
Dim CreateHtmlFile
Set CreateHtmlFile=Fso.CreateTextFile(Server.MapPath("../"&path),2,True)
CreateHtmlFile.WriteLine TemplateContent
CreateHtmlFile.Close
Set CreateHtmlFile=Nothing
Set Fso=Nothing
rs.movenext
loop
rs.close
set rs=nothing
if err then
Response.Write"<script>alert('批量生成html文件失败!');window.location.href='admin_html.asp'</script>"
else
Response.Write"<script>alert('批量生成html文件成功!');window.location.href='admin_html.asp'</script>"
end if
%> 展开
问题,第一张页面栏目是正确的,第二张页面开始栏目就加上了《栏目1+栏目2》《栏目1+栏目2+栏目3》《栏目1+栏目2+栏目3+栏目4》。。该怎么解决?
比如说:
第一张页面-国际新闻
| 首页 | 国际新闻 | 国内新闻 |
栏目1 | 栏目2 |
第二张页面- 国内新闻
| 首页 | 国际新闻 | 国内新闻 |
在这里加上了 国际新闻的 栏目1 | 栏目2 |+| 栏目1 | 栏目2 |
应该是 国内新闻的| 栏目1 | 栏目2 |
怎么解决?
<%dim TempString1
TempString1="..\template\nav.tpl"
Function ReadFromUTF1(TempString1,CharSet)
Dim str1
Set stm1=server.CreateObject("adodb.stream")
stm1.Type=2
stm1.Mode=3
stm1.Charset=CharSet
stm1.Open
stm1.loadfromfile Server.MapPath("..\template\nav.tpl")
str1=stm1.readtext
stm1.Close
Set stm1=Nothing
ReadFromUTF1=str1
End Function
dim nav_name,nav_mian,navv
Set rs=Server.CreateObject("adodb.recordset")
sql="select * from nav where nav_b=true"
rs.open sql,conn,1,1
do while not rs.eof
dim id
id=rs("nav_id")
'问题在这里,第一个栏目是正确的,第二栏目开始就加上了《栏目1+栏目2》《栏目1+栏目2+栏目3》《栏目1+栏目2+栏目3+栏目4》。。该怎么解决?
set rstr = server.createobject("adodb.recordset")
sqltr="select * from nav where nav_b="&false&" and x_y="&true&" and nav_b_id="&id
rstr.open sqltr,conn,1,1
if rstr.recordcount=0 then
navv=""
else
do while not rstr.eof
navv = navv &"<a href='"&rstr("nav_url")&"' target='"&rstr("target")&"'>"&rstr("nav_name")&"</a>"
rstr.movenext
loop
end if
dim path
path=rs("nav_url")
Dim Fso:Set Fso=CreateObject("Scripting.FileSystemObject")
Dim TemplateFile,TemplateContent
Set TemplateFile=Fso.OpenTextFile(Server.MapPath("..\template\nav.tpl"))
TemplateContent=TemplateFile.ReadAll
TemplateFile.Close
Set TemplateFile=Nothing
TemplateContent=ReadFromUTF1(TemplateContent,"utf-8")
TemplateContent=Replace(TemplateContent,"{navn}",navn)
TemplateContent=Replace(TemplateContent,"{navv}",navv)
Dim CreateHtmlFile
Set CreateHtmlFile=Fso.CreateTextFile(Server.MapPath("../"&path),2,True)
CreateHtmlFile.WriteLine TemplateContent
CreateHtmlFile.Close
Set CreateHtmlFile=Nothing
Set Fso=Nothing
rs.movenext
loop
rs.close
set rs=nothing
if err then
Response.Write"<script>alert('批量生成html文件失败!');window.location.href='admin_html.asp'</script>"
else
Response.Write"<script>alert('批量生成html文件成功!');window.location.href='admin_html.asp'</script>"
end if
%> 展开
1个回答
展开全部
把该行:if rstr.recordcount=0 then
navv=""
else
do while not rstr.eof
navv = navv &"<a href='"&rstr("nav_url")&"' target='"&rstr("target")&"'>"&rstr("nav_name")&"</a>"
rstr.movenext
loop
end if
改为:do while not rstr.eof
navv = navv &"<a href='"&rstr("nav_url")&"' target='"&rstr("target")&"'>"&rstr("nav_name")&"</a>"
rstr.movenext
loop
去掉:if rstr.recordcount=0 then
试试看
navv=""
else
do while not rstr.eof
navv = navv &"<a href='"&rstr("nav_url")&"' target='"&rstr("target")&"'>"&rstr("nav_name")&"</a>"
rstr.movenext
loop
end if
改为:do while not rstr.eof
navv = navv &"<a href='"&rstr("nav_url")&"' target='"&rstr("target")&"'>"&rstr("nav_name")&"</a>"
rstr.movenext
loop
去掉:if rstr.recordcount=0 then
试试看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询