当前位置: 代码迷 >> ASP >> asp页面静态化,该怎么处理
  详细解决方案

asp页面静态化,该怎么处理

热度:114   发布时间:2012-06-19 14:45:20.0
asp页面静态化
刚涉及页面静态化~ 很多不明白~

请教各位大侠
比如 将首页静态化实现的流程是怎样一回事? 比如假如首页是index.asp 用户访问首页的时候就调用index.asp的程序从而创建出一个静态页面(如:index.html) 然后将地址导向这个静态页面? 那又有另外一个用户访问首页是不是就该判断如果已经创建出index.html这个页面 就不用创建了 而是直接导向这个静态页面? 
那有个问题就是,如果网站后台管理员添加了新的显示在首页上的信息,那又如何处理呢? 那创建出来的静态首页又不会跟着自动更新呀? 看了好些关于页面静态化的文章 看得我云里雾里的 求教大侠给个通俗易懂的简单详致讲解~~~
谢谢~如果有好点的相关教程更好~~~

------解决方案--------------------
你说的不太清楚!一般大家都是用服务器的URL重写
------解决方案--------------------
兄弟,静态化有两种方式的,
第一种就是URLRewrite(URL重写),这种方式通常是使用正则表达式对要使用静态化的页面进行伪静态的处理,页面访问速度没有提高。
第二种就是页面静态化,这种静态化是通过定时生成页面去实现的,这种方式的好处:对于不涉及表单提交操作的页面,可以绝对的提高页面访问速度;不利之处在于如何去设置页面更新周期,当有新数据插入时,是否生成新的页面。
按你刚才所说,你们可能是用静态化生成吧。
------解决方案--------------------
大家都是用ajax来获取动态的数据。

------解决方案--------------------
送个例子给你,大家都用ajax,主页都是html还有N多的页面都用这类的方法把页面html化了。
<html>
 <head>
<title>ajax分页效果</title>
<style>
<!--
body {font-size:12px;}
input {margin:5px 5px 0;}
form {margin-bottom:20px;padding:10px;}
div#content div#pager {font-family:Courier New;padding:10px;}
table {margin:0 10px;}
td {padding:6px;font-size:12px;}
a {color:#333;}
span#tip{
margin-left:30px;background-color:#fff;
color:#fff;padding:3px;display:none;}
-->
</style>
 </head>
 <body>
<form name="form1">
查询:<input type="text" id="search" name="search">&nbsp;<input type="button" value="查询" onclick="getPage(1)"><br><br>
<span id="tip">正在加载...</span>
</form>
<div id="content"></div>
</body>
</html>
<script>
<!--
  
var tip=document.getElementById("tip");
function getPage(page){
tip.style.display="inline";
var search=document.form1.search.value;
var xmlhttp;
try
{
xmhhttp=new ActiveXObjec("Msxml2.XMLHTTP");
}
catch (e)
{
try{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
try{
xmlhttp=new XMLHttpRequest();
}
catch (e){}
}
}

xmlhttp.onreadystatechange=function()
{
if(4==xmlhttp.readyState)
{
if(200==xmlhttp.status)
{
document.getElementById("tip").innerHTML=xmlhttp.responseText;  
}
else
{
alert(xmlhttp.status);
}
}
 }
 var url="search.asp?search="+escape(search)+"&page="+page;
xmlhttp.open("get",url);
xmlhttp.send(null);
}
-->
 </script>
 <script>
 function selected(selectid)
 
 {
 
 alert("YES.passed!"+selectid +document.form1.search.value );
 
 document.form1.search.value=selectid;
 }
 </script>
------解决方案--------------------
后台搞个读DB的程序叫search.asp

VBScript code

 <!--#include file="conn.asp"-->
 <%
 Response.CharSet="GB2312"
 text=Trim(request("search"))
set rs=server.createobject("adodb.recordset")
 sql="select * from u_mail_table where mailname like '%"&text&"%' "
 'sql="select * from u_mail_table"
 rs.open sql,conn,1,1  
 
 If rs.eof Then
  response.write "error"
 Else
    rs.pagesize=10
    page=clng(Request("page"))
    if page<1 then page=1
    if page>rs.pagecount then page=rs.pagecount
    rs.AbsolutePage = page
    str="<table width=""200"" border=1><tr><td width=50 align=center>ID</td><td align=center>用户名</td></tr>"
    for i=1 to rs.pagesize
      str=str&"<tr><td align=center width=50>"&rs("mail_id")&"</td><td align=center><a href='#' onclick=""alert('Selected!');selected("&rs("mail_id")&");"">"&rs("mailname")&"</a></td></tr>"
     rs.movenext
     If rs.EOF Then
     Exit For
     End If
     Next
  End If  
  
 '分页
  str=str&"<tr><td colspan=2>"
  If page<=1 Then
   str=str&"首页 上一页 "
  Else
   str=str&"<a href=""javascript:getPage(1);"">首页</a> <a href=""javascript:getPage("&page-1&");"">上一页</a> "
  End If
  
  If page>=rs.pagecount Then
    str=str&"下一页 尾页"
  Else
    str=str&"<a href=""javascript:getPage("&page+1&");"">下一页</a> <a href=""javascript:getPage("&rs.pagecount&");"">尾页</a>"
  End If
  str=str& "</td></tr></table>"
  rs.close
  response.write str
  %> 
  相关解决方案