首先创建一个 back_url 变量方便调用:
<%
back_url = "http://" & request.ServerVariables("HTTP_HOST") & request.ServerVariables("URL") & "?" & request.ServerVariables("QUERY_STRING")
%>
然后根据不同的环境传值使用:
form 的 get 方法:
<form method="get">
<input type="hidden" name="back_url" value="<%=back_url %>" />
</form>
form 的 post 方法:
<form method="post">
<input type="hidden" name="back_url" value="<%=back_url %>" />
</form>
链接:
<a href="test.asp?back_url=<%=server.urlencode(back_url)%>">test</a>
由于 form 中会对包含的数据自动进行编码,所以可以看到无需使用 server.urlencode 方法,而链接中则需要。
在目标页面需要取值使用时,不需要解码,直接使用 request.querystring("back_url") 或 request.form("back_url") 就行。如果目标页面需要再次传递返回页面地址,则根据上面示例再次传递。
另外,据说 asp 的 server.urlencode 会根据页面编码不同而采用不同的编码方式,所以应该在每个页面最前面加上
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
没有评论:
发表评论