我正在开发一个MVC 4 Web应用程序。
我正在尝试创建一个在授权/未授权上下文中更改的网址。
我正在为未经授权的用户生成以下网址:
http://localhost/vendas-web/Login?ReturnUrl=%2Fvendas-web%2FClienteNovo%2FIndex%299999
我第一次测试时,效果很好。
但是..我第二次尝试时,查询字符串丢失了......并且网址变成了:
当我在匿名标签上对Chrome进行测试时,它的效果很好。 当我更改最后一个参数的值时,它可以正常工作。
有与此相关的某种缓存吗?
我做错了什么?
Soo,我的问题是:
如何在任何情况下保留我的完整网址?
泰
答案 0 :(得分:1)
这里的信息确实不够,但您可能会谈到的是,用户首次需要获得授权时,会自动将其重定向到第一个URL,其中包含ReturnUrl
位。这是内置到框架中的,允许用户在登录后重定向回该URL。但是,如果您需要将此初始第一次重定向保留到登录页面,那就在您身上。任何链接都必须手动添加查询字符串参数:
@Url.Action("SomeAction", new { ReturnUrl = Request["ReturnUrl"] })
任何形式都必须将其作为隐藏输入包含在内:
@Html.Hidden("ReturnUrl", Request["ReturnUrl"])
否则,是的,它会丢失,因为您现在请求的文字网址不包括它。它不仅仅是神奇地附加。
答案 1 :(得分:0)
我的问题是缓存......
我已使用此注释来避免按应用程序使用缓存。
grep -o "string" yourfile | tr [:upper:] [:lower:]