ASP如何隐藏参数

huanglq 2009-07-21 09:50:17
在学习过程中碰到一个问题,就是ASP在传递参数的过程中,如何不让URL显示出参数来。具体如下
现在的代码是这样的

<table>
<tr>
<td>
<a href="/edu/index.asp?id=<%= nameID%>">教育</a>
</td>
</tr>
</table>

这样的话,点击“教育”就会链接到类似http://localhost/edu/index.asp?id=1005的网站,现在想让这个链接换一个地方,链接到根目录下的某个文件夹下,就是说点击“教育”以后,URL上显示的应该是类似于http://localhost/edu/a/的网站。但是还要把这个参数传递过去,因为最终要根据参数值的不同来选择链接到不同的文件夹下。
比如
如果ID值是1001,就链接到 a文件夹下;
如果ID值是1002,就链接到 s文件夹下;
如果ID值是1003,就链接到 d文件夹下;
如果ID值是1004,就链接到 f文件夹下;
如果ID值是1005,就链接到 g文件夹下;



请问怎么实现??
...全文
349 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dogfish 2009-07-22
  • 打赏
  • 举报
回复
或者加密。在服务端解密。
调皮的蟠桃 2009-07-22
  • 打赏
  • 举报
回复
可以使用这种方法:<input type=hidden value=<%=nameid%> name=id>,在另一个页面使用request来取出id值,你可以这样试试。
youngsheep 2009-07-22
  • 打赏
  • 举报
回复


你在form后面加一句

<form action="r.asp">
<input type="hidden" name=id value="<%= nameID%>">
<input type="submit" name=submit value="提交 ">
</form>

再用楼上的办法作为接收端r.asp
<%
id=cint(request.form("id"))
Select Case id
Case "1001" s = "/edu/a/"
Case "1002" s = "/edu/s/"
Case "1003" s = "/edu/d/"
Case "1004" s = "/edu/f/"
Case "1005" s = "/edu/g/"
End Select
Reponse.Redirect s
%>

[Quote=引用 4 楼 cainlai 的回复:]
隐藏表单提交 这样浏览器地址栏也看不到参数了嘛
[/Quote]
不耐烦 2009-07-22
  • 打赏
  • 举报
回复
post传
huanglq 2009-07-22
  • 打赏
  • 举报
回复
自己解决了,还是感谢大家
凡夫与俗子 2009-07-21
  • 打赏
  • 举报
回复
url 重写。
anbs01 2009-07-21
  • 打赏
  • 举报
回复
rewrite
toury 2009-07-21
  • 打赏
  • 举报
回复
CainLai 2009-07-21
  • 打赏
  • 举报
回复
隐藏表单提交 这样浏览器地址栏也看不到参数了嘛
toury 2009-07-21
  • 打赏
  • 举报
回复
rewrite
boogood 2009-07-21
  • 打赏
  • 举报
回复
用url重写或者采用1楼的.url重写装一个重写软件,然后在他的配置文件中配置一些重写规则,也就是关于参数的隐藏问题。要用到正则表达式。
pzhuyy 2009-07-21
  • 打赏
  • 举报
回复
不知道楼主的意思是不是在地址栏显示http://localhost/edu/a/,而实际运行的是http://localhost/edu/index.asp?id=1005
如果是这样的话就需要用到isapi方面rewrite的东东:)
hookee 2009-07-21
  • 打赏
  • 举报
回复
简单点的话用session传递id
<%
s = ""
id = Trim(Request.QueryString("id"))
Session("id") = id
Select Case id
Case "1001" s = "/edu/a/"
Case "1002" s = "/edu/s/"
Case "1003" s = "/edu/d/"
Case "1004" s = "/edu/f/"
Case "1005" s = "/edu/g/"
End Select
Reponse.Redirect s
%>
huanglq 2009-07-21
  • 打赏
  • 举报
回复
怎么没人了
huanglq 2009-07-21
  • 打赏
  • 举报
回复
现在打算用表单或者URL重写来做这个事情,可是本人菜鸟,不知道应该怎么办了?
sy_binbin 2009-07-21
  • 打赏
  • 举报
回复
URL重新
number123456 2009-07-21
  • 打赏
  • 举报
回复
2楼的方法最好,但如果不是你的服务器,或不支持的话,也可以用另一种方法
地址可以写成/edu/?a

接收页面可以如下方法
query = Request.QueryString
select case query
case "a"
id = 1001
case "b"
id = 1002
……
end select

28,406

社区成员

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

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