<source id="4vppl"><ins id="4vppl"></ins></source>
<u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
<object id="4vppl"></object>
  • <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

    <object id="4vppl"></object>
    <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

      <i id="4vppl"><thead id="4vppl"></thead></i>

      <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>

      當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 名師教程 > 動(dòng)態(tài)Include文件的討論

      動(dòng)態(tài)Include文件的討論
      2006-03-11 11:22:50  作者:木子摘錄  來源:

      動(dòng)態(tài)Include文件的討論
      我們從一個(gè)案例談起:
      <%
      '
      得到用戶所在的省份
      Dim Province
      Province = Request.form("Province")
      '
      下面顯示這個(gè)省份相關(guān)的信息
      %>
      <!--#include virtual="/ Province/<%= Province%>"-->
      你覺得上面的代碼可以工作嗎?不!簡單地使用ASP來達(dá)到動(dòng)態(tài)包含,你不能達(dá)到你想要的效果。為什么?因?yàn)椋?/SPAN>Include命令先于ASP代碼而得到執(zhí)行,所以,上面的代碼并沒有按照作者的意愿,先得到用戶所在的省份,再包含這個(gè)省份的信息!

      如果你確實(shí)需要?jiǎng)討B(tài)包含,你可以這樣做:
      <%
      Select Case Province
      Case 1: %>
      <!--#include file="1.asp"à
      <% Case 2: %>
      <!--#include file="2.asp"à
      <% Case 3: %>
      <!--#include file="3.asp"à
      <% End Select %>

      應(yīng)該說,這段代碼可以得到你想要的結(jié)果。但是,由于你的用戶可能來自于33個(gè)省,你難道包含33個(gè)文件?特別要說明的是,SSInc.dll是不知道你究竟需要哪個(gè)包含文件的(事實(shí)上,這時(shí)候Province還沒有值),所以,她把所有的文件都包含進(jìn)來了!你可以想象,這時(shí)候的文件有多大!然后,ASP.DLL會(huì)去掃描這個(gè)文件中的ASP代碼,然后執(zhí)行!
      所以,每當(dāng)這樣的時(shí)候,你應(yīng)該考慮其他的思路,比如數(shù)據(jù)庫,或者采用FileSystemObject

      怎樣動(dòng)態(tài)Include文件?

      解答
      ASP
      程序員經(jīng)常面臨的最大挑戰(zhàn)之一是動(dòng)態(tài)Include文件。由于#include ASP代碼執(zhí)行之前處理,所以,看起來,動(dòng)if/else的腦筋是不可能的。
      真是這樣嗎?
      根據(jù)你使用Include的目的,以及你將Include的文件數(shù)目,使用if/else也許可以解決問題。但這絕對不是任何時(shí)候可以奏效的,而且也不是一種有效的解決辦法,因?yàn)槟阈枰鲈S多的手工工作。
      假設(shè)有兩個(gè)樣本HTM文件,1.htm2.htm,為簡化起見,假設(shè)文件的內(nèi)容如下:
      <!-- 1.HTM: -->
      <font color=#ff0000>This is 1.htm</font>
      <!-- 2.HTM: -->
      <font color=#0000ff>This is 2.htm</font>
      現(xiàn)在我們來試試動(dòng)態(tài)Include
      <%
      if request.querystring(‘param‘)=‘2‘ then
      %>
      <!--#include file=‘2.htm‘-->
      <%
      else
      %>
      <!--#include file=‘1.htm‘-->
      <%
      end if
      %>
      請注意:上面的兩個(gè)#include 實(shí)際上都得到了處理。你可以實(shí)際運(yùn)行一下,看看效果:/Test.asp?param=1
      /Test.asp?param=2
      /Test.asp
      上面我們是把一個(gè)querystring作為條件。你還可以把時(shí)間、日期、瀏覽器版本等作為條件。但是,條件越復(fù)雜,這種方法的效率越差。下面提供了另外一種思路:
      <%
      if request(‘param‘)=‘2‘ then
      filespec = ‘2.htm‘
      else
      filespec = ‘1.htm‘
      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)
      %>
      IIS5.0/ASP3.0中,有兩種新的方法來支持動(dòng)態(tài)包含
      <%
      server.transfer filename
      server.execute filename
      %>
      如果正好使用的是IIS5.0ASP3.0,那么Ok! 但是IIS5.0需要運(yùn)行在Windows 2000上。


      安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
      国产午夜福三级在线播放_亚洲精品成a人片在线观看_亚洲自慰一区二区三区_久久棈精品久久久久久噜噜
      <source id="4vppl"><ins id="4vppl"></ins></source>
      <u id="4vppl"><sub id="4vppl"><label id="4vppl"></label></sub></u>
      <object id="4vppl"></object>
    1. <u id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></u>

      <object id="4vppl"></object>
      <b id="4vppl"><sub id="4vppl"><tr id="4vppl"></tr></sub></b>

        <i id="4vppl"><thead id="4vppl"></thead></i>

        <thead id="4vppl"><li id="4vppl"><label id="4vppl"></label></li></thead>
        午夜福利色佬网站 | 在线亚洲欧美专区二区 | 日本精品自产拍在线观看中文 | 日本三级A∨在线观看 | 亚洲精品国产一线久久 | 亚洲不打码视频在线看 |