.net MVC RedirectToAction附加到URL的奇数字符

时间:2011-09-02 19:55:22

标签: asp.net-mvc google-chrome

我正在做一个像这样的RedirectToAction:

  return RedirectToAction("index", "mycontroller", new RouteValueDictionary(
    new {
      a = 1
    }
  ));

但是当我被重定向时,URL最后会有一些奇怪的字符,即#_#_所以它看起来像这样:

http://mysite.com/?a=1#_#_

我有点困惑这些角色是如何到达那里的,因为我没有附加它们。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

浏览器是否被重定向到Facebook的操作?出于安全原因,Facebook至少会添加此类片段以重定向URL。浏览器似乎对这些片段没什么吸引力:

  

经过大量调试后,我意识到在发生HTTP / 3xx重定向后,Firefox,Chrome和Opera将重新附加URL片段,即使该片段不存在于由Location头上指定的URL中。重定向响应。

来源:http://blogs.msdn.com/b/ieinternals/archive/2011/05/17/url-fragments-and-redirects-anchor-hash-missing.aspx

答案 1 :(得分:0)

这与ASP.NET MVC无关。您可能有一些客户端javascript或插件,它执行此操作并将一个片段附加到URL。或者也许是浏览器上的一些插件。请注意,您可以在不使用浏览器重定向的情况下使用javascript将片段附加到网址(#符号后面的所有内容)。