【问题标题】:ASP.NET MVC nested query parametersASP.NET MVC 嵌套查询参数
【发布时间】:2012-09-14 15:06:51
【问题描述】:

好的,这有点棘手。我在 ASP.NET MVC 3 中实现了一个论坛。用户想要发布一个问题,如果没有登录,他会被重定向到登录页面。将 returnUrl 参数传递到登录页面。但是,returnUrl 参数还包含另一个 returnUrl 参数。所以传递给登录页面的returnUrl参数是这样的:

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8"

但是,Request["returnUrl"] 看起来像这样:

"/forum/NewTopic?boardId=8&returnUrl=%2Fforum%2FBoard%2F8,/forum/Board/8"

注意末尾的附加位,它不应该在那里吗?如何获得正确的 returnUrl?

但是,当控制器的操作方法中有一个字符串 returnUrl 参数时,这将具有正确的 returnUrl 值。

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    我在MVC3中也遇到过这个问题,检查重定向页面是否为“登录”,设置一个标志,不要添加returnUrl参数(这是最后附加的位)。

    这样它就不会再次被填充。

    【讨论】:

    • 在这种情况下,我最终在控制器操作中使用了字符串 returnUrl 参数,因为即使使用嵌套参数它也能正常工作。我只是好奇如何从请求中获得相同的结果。显然 asp.net mvc 知道如何做到这一点,否则将无法正确设置 action 参数,但直到现在我还没有发现如何。另外我不明白为什么两种不同的查询参数获取方式的结果不同。
    猜你喜欢
    • 2021-01-14
    • 2019-06-12
    • 2019-05-08
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多