asp.net-mvc - MVC下Forms Authentication中ReturnUrl内保留Url Fragment

标签 asp.net-mvc asp.net-mvc-3 url model-view-controller uri-fragment

我有一个场景,我需要将用户发送到登录页面,使用他们当前所在的页面填充 returnurl 参数,包括一个 url 片段,以便当他们完成登录时,他们被重定向回原来的页面页面,页面向下滚动到特定的#location。

目前,除了 returnUrl 时 url 片段丢失外,一切正常。参数到达 Login Action 方法。

有没有办法保留这个 url 片段,这样它就不会在登录阶段丢失?我可以在登录页面的 url 中看到 #fragment,但是当我查看登录方法中 'returnUrl' 的值时,它似乎被剥离了。

最佳答案

Is there a way to retain this url fragment so it doesn't get lost during the login phase?



不,没有。 url 片段永远不会发送到服务器。一种可能性是在将其传递给服务器之前修改客户端上的 returnUrl,以便 url 片段成为查询字符串的一部分。然后当登录成功并且服务器需要重定向回 returnUrl 时,它会将其修改为原始值。

例如,在将其发送到 Login 方法之前,它可能看起来像这样:
http://example.com/admin/index?fragment=somefragment

关于asp.net-mvc - MVC下Forms Authentication中ReturnUrl内保留Url Fragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7270066/

相关文章:

c# - 在 post 请求 asp.net mvc 中更改模型属性

asp.net-mvc - 特定可移植区域的ControllerFactory

asp.net-mvc - session 中的 Asp.net mvc 类引用

java - 如何从 url 中提取 id?谷歌表格

php - URL 重写和构造指南

asp.net-mvc - ASP.NET Web API 相对于 ASP.NET MVC 的优势是什么

javascript - 我如何在 View 上使用 JQuery

c# - POST 和 GET 方法可以进入不同的 View 吗?

jquery - MVC3 ajax 将多个复选框值发送到 Controller

Python 网址参数