我认为这是一种非常常见的情况,但我无法用我生成任何有用的搜索引擎结果的方式来表达我的问题。我希望Index
的{{1}}操作可以从其他控制器返回操作。
我已经提出了一些解决方案,但由于各种原因而解散了每个解决方案:
HomeController
似乎不是正确的解决方案,因为RedirectToAction
导致HTTP 303对于网站的主页似乎有误。RedirecToAction
HomeController
操作中调用其操作;这个选项闻起来很糟糕。Index
上放置与其他控制器相同的依赖项,并使用相同的存储库方法。虽然这是我提出的最简单的选择,但它看起来像是警察。那么,我在这里错过了什么? ASP.NET MVC框架是否提供了一种“正确”的方法来实现这一目标?
答案 0 :(得分:3)
如何使用路由引擎?
routes.MapRoute(
"Special",
"Home/Index/{id}",
new { controller = "OtherController", action = "OtherAction",
id = UrlParameter.Optional }
);
请记住在不太具体的路线之前放置更具体的路线。
问候。