我有一个场景,我需要将用户发送到登录页面,使用他们当前所在的页面填充 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/