我的控制器有2个命名空间。一个是默认的MyProject.Controllers,第二个是MyProject.Controllers.Framed。我正在使用名称空间,以便我可以像/ home / index这样的网址提供正常的主页网站和/ framed / home / index提供用于iframe的版本。
我的问题是,当我在我的视图中放置<%: Html.ActionLink("Home", "Index", "Home")%>
时,默认为/ Framed / Home / Index。我相信这是因为框架命名空间首先在我的路由中添加,然后首先找到它。这是预期和期望的。
我的问题是如何设置actionlink中使用的命名空间?理想情况下,我希望我的网站将所有actionlinks默认为默认命名空间(MyProject.Controllers)。我开始怀疑在网址中放置/框架来改变渲染的便利性是否值得所有这些麻烦。
答案 0 :(得分:1)
您可以尝试使用RouteLink方法来提供指定要使用的路由的方法:
<%: Html.RouteLink("FramedRouteName", new { controller: "Home", action: "Index" }) %>