日期:2014-05-17  浏览次数:20956 次

在学习广告计划文件 GetAdvertisement()方法中教程有一些代码实在是不能理解,
执行结果为什么为会显示:<A HERE="adrotator.asp?url=http://www.163.com&image="01.jpg""> ....呢???
请高手帮忙指点一下,我原来学习过VB,但这种ASP中request.QueryString("变量名")我经常找不出赋值的地方??

url不是会关键字吧??它是专门指定从地址栏内获取地址的吗???
如果不是关键字,如何赋值的???
代码如下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% Response.Expires=0 %>
<html>
<body>
<% 
dim context
context=request.QueryString("url")
if context<>"" then
response.Redirect(request.QueryString("url"))  这一句是从哪里获取url变量的值呢??语句中没有发现对这个表单赋值的地方?也没有看到还有页面存在,更没有看到还什么表单get方法提交过来的这个变量的值??它是从哪里来的??
end if
%>

<%
  set ad=server.CreateObject("MSWC.AdRotator") '教程中说url变量的值是从这句获取的的,不理解????'
  ad.Border=1
  ad.Clickable=true
  ad.TargetFrame="target='_new'"
  response.Write( ad.GetAdvertisement("adrot.txt"))
   
%>
</body></html>

而广告 AD Rotator 计划文件adrot.txt 文件内容如下 :
REDIRECT adrotator.asp
WIDTH 440
HEIGHT 400 
BORDER 1 
*
01.jpg
http://www.163.com
网易
3
02.jpg
http://www.sina.com.cn
新浪网
3
03.jpg
http://www.zol.com
Sponsored by Flyteworks
3

请高手指点一下,你们是如何理解上面的代码的,能否画的一个程序流程图的,那就太感谢了....

------解决方案--------------------
<%
dim context
context=request.QueryString("url") '获取url传值
if context<>"" then '如果值不为空
response.Redirect(request.QueryString("url")) '转到指定的网页
end if
%>
意思是假如从别处传过来有一个url(网页地址)的变量,就立刻跳转到这个网页地址里。否则不处理。所以找不到url从哪里来是很正常的,它可以有也可以没!
set ad=server.CreateObject("MSWC.AdRotator") 这是创建一个对象,与传值无关!

最后说一句广告计划文件这东东没必要学。我做网页十几年还没找到需要它的地方:(