ASP动态页面生成静态页面时遇到的问题!

时间:2022-11-12 23:42:00
网站访问量很大,为了减少服务器负荷决定把一些信息显示页面生成静态页面。

但是象“买卖商机”信息的联系方式是需要登录后才能查看的,也就是说登录前联系方式处显示的是一个会员登录框,登录后显示的是具体的联系信息,动态页面是通过判断SESSION值来处理的,可是如果生成静态页面那该怎么处理呢???
  
就象这个网站http://cn.globaltexnet.com/tradeleads/detail/001/393398.html,他们是怎么实现的呢?

31 个解决方案

#1


大家进来看一下啊!!!

#2


顶一下

#3


FSO

#4


把会员登陆框用iframe嵌套,这样就可以使用动态页面了。

#5


顶一下,顶顶顶顶顶顶顶顶顶顶顶顶顶顶

#6


你知道,csdn的xml也是静态页面为什么可以分清楚有没登陆的?

#7


liuxiaoyi666(兔子)给介绍一下吧,学习一下,呵呵

#8


http://cn.globaltexnet.com/tradeleads/detail/001/393398.html

这个是用re_write重写的。IIS安装个rewrite映射。

#9


TO: hank212(超越无极限) 我也知道用FSO生成静态页面呀,但问题是怎么判断显示那两种不同的情况呢!
TO:lenmore() 我本来就是为了减少服务器负荷才不用动态页面的,用iframe嵌套没什么实际意义!

#10


TO:richwong(rich) 如果用re_write重写,实际*问的还是动态页面吧?那样也减少不了服务器负荷呀!

#11


是的,对于asp没有减轻负荷,但对于php jsp用重写就减轻负荷了。

asp上面1地址安全,2,表面呈技术优秀好看。^_^

你举那地址是re_write     连阿里也是。不过他们就不是asp语言了。

#12


那象我这种情况有没有什么方法呀,服务器真的吃不消了,好慢的!

#13


别掉下来啊!~~~~~~~~

#14


csdn就是用iframe的

#15


用shtml
头部可以用script来判断
html做不到,除非是re_write,不过这样子其实没什么意思

#16


说错了,需要登陆才可以浏览的那部分用script来实现

#17


UP

#18


TO:baggio785(狗狗) shtml与html有什么区别啊,在shtml中怎么用script实现呢?能否解释得详细些!谢了。

#19


SHTML无非是想包含动态文件吗,那不也没起到减轻服务器负担的作用?
只是说说啊,没式!
要是登陆后建立cookie,不知道到静态页后是否可以用js读取cookie,如果cookie存在联系方式display="",不存在display=none

#20


没有人遇到过这样的问题吗?

#21


<table>
 <tr>
  <td>11</td>
  <td>12</td>
 </tr>
 <tr>
  <td>11</td>
  <td><!-- #include file='judge_user.asp' --></td>
</tr>
</table>

judge_user.asp用来判断若用户已经登陆,则显示页面1,若未登陆,则显示页面2 


#22


用script嵌asp文件如<script src="联系方式.asp?id=该公司id"></script>这个asp页面输出document.write("联系方式"),这样不就ok了,如果登陆了就输出联系方式,没有登陆就输出登陆框

#23


学习一下

#24


<script src="联系方式.asp?id=该公司id"></script>
这不还是调用动态的吗?依然没有减轻server负担

#25


asp如何RE_WRITE

#26


你可以再建立cookie变量,然后用js读取的,cookie是客户端的,支持静态的!
至于shtml,<script src="联系方式.asp?id=该公司id"></script>
总感觉还是加大服务器负担的!
以下我试了一下,可以办到你要的效果!
这样做无需调用任何动态文件的!但是客户端的东西总是不保险的!

比如:下面是你想让别人登陆后才能看到的
<div id=xx>买卖商机</div>

<script>
//js得到cookie函数
function getCookie (CookieName) { 
var CookieString = document.cookie; 
var CookieSet = CookieString.split (';'); 
var SetSize = CookieSet.length; 
var CookiePieces 
var ReturnValue = ""; 
var x = 0; 
for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) { 
CookiePieces = CookieSet[x].split ('='); 

if (CookiePieces[0].substring (0,1) == ' ') { 
CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length); 
}

if (CookiePieces[0] == CookieName) {
ReturnValue = CookiePieces[1];
var value =ReturnValue
}


}
return value;
}
</script>
<%
Response.Cookies("username")="wlnh"
%>
<script>
var a
a=getCookie("username")
if(a)
document.all.xx.style.display=""
else
document.all.xx.style.display='none'
</script>

#27


我上面写的
<%
Response.Cookies("username")="wlnh"
%>
只是为了测试才写的,你用的时候可以把它去掉的!

#28


非常感谢各位的关注,特别要感谢wlnh420(野狼)!

整理了一下各位的建议,有以下思路,各位帮忙看一下是否可行:

信息录入时生成两个静态页面,一个为商机信息页面trade.shtml,一个为联系方式页面contact.shtml
在trade.shtml页面中包含<script src="login.asp?link=trade.shtml"></script>
在login.asp里判断session是否登录,未登录输出登录框,已登录则包含contact.shtml页面

#29


学习到了...mark

#30


要结贴了,各位再来讨论一下啊!

#31


学习

#1


大家进来看一下啊!!!

#2


顶一下

#3


FSO

#4


把会员登陆框用iframe嵌套,这样就可以使用动态页面了。

#5


顶一下,顶顶顶顶顶顶顶顶顶顶顶顶顶顶

#6


你知道,csdn的xml也是静态页面为什么可以分清楚有没登陆的?

#7


liuxiaoyi666(兔子)给介绍一下吧,学习一下,呵呵

#8


http://cn.globaltexnet.com/tradeleads/detail/001/393398.html

这个是用re_write重写的。IIS安装个rewrite映射。

#9


TO: hank212(超越无极限) 我也知道用FSO生成静态页面呀,但问题是怎么判断显示那两种不同的情况呢!
TO:lenmore() 我本来就是为了减少服务器负荷才不用动态页面的,用iframe嵌套没什么实际意义!

#10


TO:richwong(rich) 如果用re_write重写,实际*问的还是动态页面吧?那样也减少不了服务器负荷呀!

#11


是的,对于asp没有减轻负荷,但对于php jsp用重写就减轻负荷了。

asp上面1地址安全,2,表面呈技术优秀好看。^_^

你举那地址是re_write     连阿里也是。不过他们就不是asp语言了。

#12


那象我这种情况有没有什么方法呀,服务器真的吃不消了,好慢的!

#13


别掉下来啊!~~~~~~~~

#14


csdn就是用iframe的

#15


用shtml
头部可以用script来判断
html做不到,除非是re_write,不过这样子其实没什么意思

#16


说错了,需要登陆才可以浏览的那部分用script来实现

#17


UP

#18


TO:baggio785(狗狗) shtml与html有什么区别啊,在shtml中怎么用script实现呢?能否解释得详细些!谢了。

#19


SHTML无非是想包含动态文件吗,那不也没起到减轻服务器负担的作用?
只是说说啊,没式!
要是登陆后建立cookie,不知道到静态页后是否可以用js读取cookie,如果cookie存在联系方式display="",不存在display=none

#20


没有人遇到过这样的问题吗?

#21


<table>
 <tr>
  <td>11</td>
  <td>12</td>
 </tr>
 <tr>
  <td>11</td>
  <td><!-- #include file='judge_user.asp' --></td>
</tr>
</table>

judge_user.asp用来判断若用户已经登陆,则显示页面1,若未登陆,则显示页面2 


#22


用script嵌asp文件如<script src="联系方式.asp?id=该公司id"></script>这个asp页面输出document.write("联系方式"),这样不就ok了,如果登陆了就输出联系方式,没有登陆就输出登陆框

#23


学习一下

#24


<script src="联系方式.asp?id=该公司id"></script>
这不还是调用动态的吗?依然没有减轻server负担

#25


asp如何RE_WRITE

#26


你可以再建立cookie变量,然后用js读取的,cookie是客户端的,支持静态的!
至于shtml,<script src="联系方式.asp?id=该公司id"></script>
总感觉还是加大服务器负担的!
以下我试了一下,可以办到你要的效果!
这样做无需调用任何动态文件的!但是客户端的东西总是不保险的!

比如:下面是你想让别人登陆后才能看到的
<div id=xx>买卖商机</div>

<script>
//js得到cookie函数
function getCookie (CookieName) { 
var CookieString = document.cookie; 
var CookieSet = CookieString.split (';'); 
var SetSize = CookieSet.length; 
var CookiePieces 
var ReturnValue = ""; 
var x = 0; 
for (x = 0; ((x < SetSize) && (ReturnValue == "")); x++) { 
CookiePieces = CookieSet[x].split ('='); 

if (CookiePieces[0].substring (0,1) == ' ') { 
CookiePieces[0] = CookiePieces[0].substring (1, CookiePieces[0].length); 
}

if (CookiePieces[0] == CookieName) {
ReturnValue = CookiePieces[1];
var value =ReturnValue
}


}
return value;
}
</script>
<%
Response.Cookies("username")="wlnh"
%>
<script>
var a
a=getCookie("username")
if(a)
document.all.xx.style.display=""
else
document.all.xx.style.display='none'
</script>

#27


我上面写的
<%
Response.Cookies("username")="wlnh"
%>
只是为了测试才写的,你用的时候可以把它去掉的!

#28


非常感谢各位的关注,特别要感谢wlnh420(野狼)!

整理了一下各位的建议,有以下思路,各位帮忙看一下是否可行:

信息录入时生成两个静态页面,一个为商机信息页面trade.shtml,一个为联系方式页面contact.shtml
在trade.shtml页面中包含<script src="login.asp?link=trade.shtml"></script>
在login.asp里判断session是否登录,未登录输出登录框,已登录则包含contact.shtml页面

#29


学习到了...mark

#30


要结贴了,各位再来讨论一下啊!

#31


学习