【问题标题】:Get full URL with hash to use as ReturnUrl获取带有哈希的完整 URL 以用作 ReturnUrl
【发布时间】:2011-07-29 00:54:24
【问题描述】:

我有这样的网址

localhost/Login/LogOn?ReturnUrl=/#&q=my%20search%20word&f=1//447044365|2//4

身份验证后我需要获取哈希参数以在应用程序中导航。

我试着像这样抓住它

<input name="returnUrl" value="<%= ViewContext.HttpContext.Request.Url.PathAndQuery %>" type="hidden" />

但结果是

/Login/LogOn?ReturnUrl=/

我试图去掉 URL 中的“/#”,然后得到整个 URL。但我需要按原样使用这个 URL。

为什么 URL 被截断了?

【问题讨论】:

    标签: c# asp.net url returnurl


    【解决方案1】:

    浏览器不会将哈希片段发送到服务器。它仅在客户端使用。如果您需要它,您必须通过客户端脚本访问它。

    【讨论】:

    • 谢谢!我刚刚添加了 $("#returnUrl").val(location.hash);将其放在输入中。
    • 通过这样的客户端 URL 处理,请注意注入/劫持攻击。确保此值的使用者不信任并对其进行验证。
    猜你喜欢
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    相关资源
    最近更新 更多