这样的问题如何解决。

pencil_xx 2002-01-14 09:58:42
if x=1
<!--#include file="include/option.htm"-->
else

<!--#include file="include/option.htm"-->
end if

只想按照条件包含文件。

这样的语句可不可行如果不行

有其实的方法实现吗?
...全文
130 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
playmud 2002-01-14
  • 打赏
  • 举报
回复
hubinasm(hubin) 的办法不行吗?
如果不行试试这个!
<%x = 0
if x=1 then
response.write "<!--#include file="&"copyright.asp"&"-->"
else
response.write "<!--#include file="&"copyright2.asp"&"-->"
end if%>
lemontree197977 2002-01-14
  • 打赏
  • 举报
回复
刚看到一篇文章,对你有用!(我还没试过那!)

————————
WINDOWS 2000搭載ASP3.0和IIS5.0

统一教学网
日期:2001-4-17 19:28:00
出处:未知
作者:未知

相信大部分的人目前所用的ASP版本都是搭載在IIS3.0或IIS4.0中的ASP2.0,伺服器平台也多是NT4.0,隨著WINDOWS 2000 即將在二月十七號問世,由於之前許多雜誌媒體都曾經報導過有關WINDOWS 2000在伺服器性能的擴充以及各版本(伺服器版本,個人用戶版本....)的簡介,所以大家都迫不及待的想知道WIND
OWS 2000到底多了哪些強大的功能,身為NT 伺服器使用者的我們當然也不可不知到底微軟在這方面改善了多少?不過由於本版面主要是在討論ASP的應用,所以筆者將針對搭載在WINDOWS 2000中的ASP3.0和IIS5.0與之前IIS3.0或IIS4.0中的ASP2.0有增加了哪些元件或者是擴充的屬性與方法來說明,總體來說,ASP20.與ASP3.0並沒有許多的不同,比較引人注意的是新增了兩個伺服器物件方法(METHOD)---SERVER.EXECUTE和SERVER.TRANSFER以及一個新增加的物件--ASPERROR物件。



SERVER.TRANSFER方法



以往ASP2.0中控制兩個網頁之間的傳遞大部分都是靠Response.Redirect來完成,但是一般人可能不曉得Response.Redirect在應用上來說是相當笨拙的,在ASP處理Response.Redirect時是先將一個訊息傳遞至客戶端的瀏覽器,告知客戶端的瀏覽器準備載入一個新的網址,客戶端瀏覽器接收到這筆訊息之後再回傳一個確認新網址訊息回伺服器端,然後伺服器端再將客戶端瀏覽器導向到新的網址,在網路蓬勃發展的今天,這樣的做法勢必會對網路的堵塞情形帶來更大的衝擊,而這也是使用者與網站管理者所不樂於見到的,為了取代Response.Redirect這個笨方法,ASP3.0加入了一個新的伺服器方法--SERVER.TRANSFER,把Response.Redirect中客戶端與伺服器端的溝通全部轉移到伺服器上,所有的處理程序全部交由伺服器來執行,當然啦!!在語法與應用的觀念上與Response.Redirect並無太大的分別,在網頁與網頁中傳遞資訊時,所有的時域變數和應用程式變數都將保持不變,看看下面的說明:



語法

SERVER.TRANSFER(PATH)



PATH所定義的是將控制權轉移到的目的網頁之網址,跟Response.Redirect後面所接的



參數有異曲同工之妙,舉例來說,



ASP1.asp如下:



<HTML>

<BODY>

<%

Response.Write Session.SessionID



Response.Write ("<BR>")



Response.Write("我要到下一個網頁去囉!! <BR>")



Server.Transfer("ASP2.asp")

%>



ASP2.asp如下

<HTML>

<BODY>

<%



Response.Write Session.SessionID

%>



ASP1.asp執行結果如下



一個SessionID

我要到下一個網頁去囉!!

同樣的SessionID



很明顯的可以看出Response.Redirect與SERVER.TRANSFER的不同了吧!!



SERVER.EXECUTE方法



SERVER.EXECUTE跟SERVER.TRANSFER相同的是都是在進行Script執行程序的轉移,唯一不同的是SERVER.TRANSFER最後將控制權交給被呼叫的Script檔案,而SERVER.EXECUTE最後將控制權轉移給被呼叫者本身,也就是說執行SERVER.EXECUTE的Script檔案將被呼叫的Script檔案視做自己本身的一部份,在觀念上來說,與Include的做法是一樣的,與許多高階語言呼叫副程式的做法也相同,基本上伺服器端允許SERVER.EXECUTE修改Http標題,但是如果被執行的檔案企圖在傳送訊息至客戶端瀏覽器之後修改Http標題就會發生已將 HTTP 標題寫入用戶端瀏覽器。對任何 HTTP 的標題所做的修改必須要在寫入頁內容之前的錯誤。看看下面的範例:

ASP1

<HTML>

<BODY>

<% Response.Write("你在看我嗎? <BR>")

Server.Execute("asp2.asp")

%>

</BODY>

</HTML>

ASP2

<HTML>

<BODY>

<% Response.Write("你可以再近一點。")%>

</BODY>

</HTML>

ASP1.asp執行結果將會是



你在看我嗎?

你可以再近一點。
hubinasm 2002-01-14
  • 打赏
  • 举报
回复
<%x = 0
if x=1 then%>
<!--#include file="copyright.asp"-->
<%else%>

<!--#include file="copyright2.asp"-->
<%end if%>
hubinasm 2002-01-14
  • 打赏
  • 举报
回复
此方法可行!!!
KnowLittle 2002-01-14
  • 打赏
  • 举报
回复
不行!agree 热茶
可以用两个asp阿,分别include不同的
然后根据你的条件,决定跳转到哪个页面
希偌 2002-01-14
  • 打赏
  • 举报
回复
不行?
lemontree197977 2002-01-14
  • 打赏
  • 举报
回复
不可行,服务器解析asp程序时,include优先执行。
pencil_xx 2002-01-14
  • 打赏
  • 举报
回复
我试了不行有没有其他的方法啊
microlab 2002-01-14
  • 打赏
  • 举报
回复
按说完全可行!^_^
试一下不就知道了
cpplus 2002-01-14
  • 打赏
  • 举报
回复
好像是不行~~

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧