Questions tagged «server.transfer»


14
如何在ASP.NET MVC中模拟Server.Transfer?
在ASP.NET MVC中,您可以很容易地返回重定向ActionResult: return RedirectToAction("Index"); or return RedirectToRoute(new { controller = "home", version = Math.Random() * 10 }); 实际上,这将提供HTTP重定向,通常很好。但是,在使用Google Analytics(分析)时,这会引起很大的问题,因为原始引荐来源网址丢失了,因此Google不知道您来自何处。这会丢失有用的信息,例如任何搜索引擎术语。 附带说明一下,此方法的优点是删除了广告系列可能带来的所有参数,但仍然允许我在服务器端捕获它们。将其留在查询字符串中会导致人们为他们添加书签或在Twitter或Blog中添加他们不应该使用的链接。我已经看过几次了,人们在Twitter上发布了指向包含广告系列ID的网站的链接。 无论如何,我正在为该站点的所有传入访问编写一个“网关”控制器,我可能会将其重定向到其他地方或其他版本。 就目前而言,我现在更关心Google(而不是意外添加书签),并且我希望能够向访问者发送访问/该页面后访问的页面的人/home/7,这是主页的第7版。 就像我之前说过的,如果我这样做,我将失去Google分析引荐来源网址的能力: return RedirectToAction(new { controller = "home", version = 7 }); 我真正想要的是 return ServerTransferAction(new { controller = "home", version = 7 }); 这将使我获得该视图而无需客户端重定向。我不认为这样的事情存在。 目前,我能想到的最好的事情就是HomeController.Index(..)在GatewayController.IndexAction中复制整个控制器逻辑。这意味着我必须'Views/Home'进入'Shared'以便可以访问。肯定有更好的办法??..
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.