【问题标题】:overwrite parameters passed by querystring覆盖查询字符串传递的参数
【发布时间】:2010-04-09 23:35:48
【问题描述】:

我有以下问题

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

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

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

我想创建一个 url 链接以自动启动页面,并在“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

而且这两个参数都应该隐藏在文本中...(不知道我是否说清楚...)

非常感谢

感谢

sas

ps:我有一些关于如何解决它的想法,但我会将它们作为答案发布......

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      这样我就不会关心查询字符串中的参数是否继续发送,唯一剩下的问题就是烦人的 url...

      【讨论】:

        猜你喜欢
        • 2014-01-28
        • 2019-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多