zoukankan      html  css  js  c++  java
  • asp中动态include的方法

    推荐
    ==================
    asp动态include文件
    使用范例:include("youinc.asp")
    <%
    Function include(filename)
    Dim re,content,fso,f,aspStart,aspEnd
    set fso=CreateObject("Scripting.FileSystemObject")
    set f=fso.OpenTextFile(server.mappath(filename))
    content=f.ReadAll
    f.close
    set f=nothing
    set fso=nothing
    set re=new RegExp
    re.pattern="^\s*="
    aspEnd=1
    aspStart=inStr(aspEnd,content,"<%")+2
    do while aspStart>aspEnd+1
    Response.write Mid(content,aspEnd,aspStart-aspEnd-2)
    aspEnd=inStr(aspStart,content,"%\>")+2
    Execute(re.replace(Mid(content,aspStart,aspEnd-aspStart-2),"Response.Write "))
    aspStart=inStr(aspEnd,content,"<%")+2
    loop
    Response.write Mid(content,aspEnd)
    set re=nothing
    End Function
    %>
    ==================

    <%if xxx = "yyy" then%>
    <!--#include file="file1.asp"-->
    <%else%>
    <!--#include file="file2.asp"-->
    <%end if%>
    这会下载没有必要的文档,影响载入效率。

    1)
    If xxx = "yyy" Then
    Server.Execute("file1.asp")
    Else
    Server.Execute("file2.asp")
    End If

    2)
    If xxx = "yyy" Then
    Server.transfer("file1.asp")
    Else
    Server.transfer("file2.asp")
    End If

    3)
    if xxx = "yyy" then
    filespec = "file2.asp"
    else
    filespec = "file2.asp"
    end if
    filespec = server.mapPath(filespec)
    scr = "scripting.fileSystemObject"
    set fs = server.createobject(scr)
    set f = fs.openTextFile(filespec)
    content = f.readall
    set f = nothing
    set fs = nothing
    response.write(content)

    如果使用以上方法来实现include功能的时候,必须注意的地方。我们可以将<!--#include file="file.asp"-->中被包含的网页file.asp看成是包含了file.asp的网页的有机组成部分,只是将本来属于该网页的内容以另一个档案形式保存罢了,可以这样说他们本来就是一个网页,所以,被包含的网页file.asp继承了包含了file.asp的网页的所有的参数设定,包括Session 但是,其他的方法并非如此,在html语法部分可以和主网页共享,asp部分却是独立的,特别的Session在一般情况下是不能从主网页中传递到被包含的网页file.asp来,这点很重要,使用时要注意。
  • 相关阅读:
    USACO3.2.5Magic Squares
    USACO3.1.4Shaping Regions
    USACO3.2.3Spinning Wheels
    USACO3.1.3Humble Numbers
    USACO3.1.6Stamps
    USACO3.1.1AgriNet
    USACO3.3.5A Game
    USACO3.2.4Feed Ratios
    USACO3.2.2Stringsobits
    USACO3.2.6Sweet Butter
  • 原文地址:https://www.cnblogs.com/MaxIE/p/950708.html
Copyright © 2011-2022 走看看