【发布时间】:2012-07-11 09:05:04
【问题描述】:
我有一个 MVC 3 项目,它大量使用片段来动态加载不同页面的内容。有些页面会发回控制器以上传文件。上传完成后,我想将用户重定向回他们来自的页面。我将返回 URL 传递给上传操作,然后在上传完成后将用户重定向回该页面。
这在 Chrome 和 Firefox 中可以正常工作,但 IE 会忽略该片段,我会在我的解决方案中返回到根页面。下面是我用来重定向用户的代码。
public virtual ActionResult UploadFile(string returnURL)
{
// Do some work here...
return Redirect(returnURL);
}
有什么方法可以强制 IE 8 保留片段并像 Chrome 和 Firefox 一样运行?
如果没有,是否有解决此问题的标准方法?
我还查看了 Eric Law 关于 https 重定向和片段的 article。它提供了一些关于不同浏览器如何处理片段的见解。
【问题讨论】:
-
(1)当你被重定向回来时,IE地址栏中的url是否包含你的fragment,以及(2)你能显示使用fragment进行导航的客户端代码吗?
-
(1) 不,IE 不会在重定向后的 URL 中显示片段。 (2) 客户端代码似乎无关紧要。如果我重定向到带有片段的 stackoverflow url,IE 会丢弃片段,但 Chrome 和 Firefox 会保留它。
标签: c# asp.net-mvc-3 internet-explorer redirect fragment-identifier