覆盖querystring传递的参数

时间:2010-04-09 23:35:48

标签: asp-classic webforms query-string post-commit

我有以下问题

我有一个使用经典asp构建的Web框架,可以将页面状态保存在隐藏的文本框中,然后向自己发出提交。

在提交之前,我们有一个javascript函数可以将操作保存在隐藏的“操作”输入中,然后执行提交。

页面从这些隐藏文本加载状态,读取发出的操作,读取额外参数,如要编辑的记录的ID,然后相应地构建页面。

我想创建一个网址链接,以自动启动页面,并在“x”ID上执行“编辑”操作。

所以我正在考虑构建以下网址,例如

http://myapp/user?action=edit&id=23

问题是当页面自动提交时,que url string保留参数。

我想实现以下目标:

当用户点击

http://myapp/user?action=edit&id=23

我的网页应该会收到发布的值action = edit和id = 23

但网址应为http://myapp/user

并且两个参数都应保存在隐藏文本中......(我想知道我是否清楚自己......)

非常感谢

saludos

SAS

ps:关于如何解决这个问题,我有几个想法,但我会把它们作为答案发布......

2 个答案:

答案 0 :(得分:0)

我想到的第一个解决方案是在会话中保存值,发出不带参数的重定向,然后加载参数并将其从会话中删除......

答案 1 :(得分:0)

另一个解决方案,也是最容易实现的解决方案,就是每当我读取参数时,我首先从查询字符串(request.queryString)中读取它们,然后从发布的值中过度使用它们(request.form)

这样我就不在乎查询字符串中的参数是否一直被发送,剩下的唯一问题就是烦人的网址......