asp.net-mvc-2 - MVC 2 - 如何设置 actionlink 的目标命名空间

标签 asp.net-mvc-2 namespaces asp.net-mvc-routing actionlink

我的 Controller 有 2 个命名空间。一个是默认的 MyProject.Controllers,第二个是 MyProject.Controllers.Framed。我正在使用命名空间,这样我就可以有一个像/home/index 这样的 url 提供正常的主页网站,而/framed/home/index 提供一个打算在 iframe 中使用的版本。

我的问题是,当我把 <%: Html.ActionLink("Home", "Index", "Home")%>在我看来,它默认为/Framed/Home/Index。我相信这是因为在我的路由中首先添加了框架命名空间,并且首先找到了它。这是可以预料和期望的。

我的问题是如何设置 actionlink 中使用的命名空间?理想情况下,我希望我的网站将所有操作链接默认为默认命名空间 (MyProject.Controllers)。我开始怀疑将/framed 放在 url 中以更改渲染的便利性是否值得所有这些麻烦。

最佳答案

您可以尝试使用 RouteLink提供指定要使用的路由的方法的方法:

<%: Html.RouteLink("FramedRouteName", new { controller: "Home", action: "Index" }) %>

关于asp.net-mvc-2 - MVC 2 - 如何设置 actionlink 的目标命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3961222/

相关文章:

c# - ASP.Net MVC 2 : Using a viewmodel destroys my model binding

asp.net-mvc-2 - ASP.NET MVC 2 从非 www 重定向到 www

c# - 路由错误访问 Action

asp.net - MVC3 应用程序忽略 Razor .cshtml 扩展名

c# - 在不使用 MVC 更改 URL 的情况下为特定 URL 创建路由

validation - ASP.Net MVC2 : ModelState is invalid, 但我不知道为什么

clojure - 如何在Clojure中获取var的命名空间?

运行uberjar时Clojure FileNotFound异常,尽管文件在项目源中

c++ - 为什么 "using namespace xxx"对模板函数不生效?

asp.net-mvc-2 - 从 AutoMapper 到 Emit Mapper