【发布时间】:2012-07-16 21:05:42
【问题描述】:
我刚刚将 MVC4 .NET 4.0 应用程序部署到我的 Web 主机,用于“实时”部署测试。非区域路线运行良好,例如我的
@Html.ActionLink("Register as a Client", "Register", "Account", new { registrationType = "Client"}, null)
链接工作正常,链接打开正确的页面。但是,通过链接到基于区域的操作,如下所示:
@Html.ActionLink("Authors", "Index", "Home", new { Area = "Author", registrationType = "Author" }, null)
实际呈现给浏览器的链接缺少动作和控制器,即
http://mylivedomain.com/?Area=Author®istrationType=Author
可能值得注意的是,MVC4 的 css 捆绑功能在部署后不起作用,我回滚到使用经典样式链接到单个样式表。
可能相关:我的问题:Why is unmodified template code in my MVC4 app trying to register areas twice?
JUST IN:从默认路由的区域路由映射中删除默认操作解决了这个问题。在 VS2012 模板代码中没有默认的控制器开始。
【问题讨论】:
-
您是否忘记在 ActionLink() 末尾使用
new{}? stackoverflow.com/questions/2036305/… -
@NickDeVore,我使用的是
null,这在我的开发机器上适用于我,并且之前在我正在部署的我的站点的前一个 MVC3 版本上工作。 -
听起来不错,我刚刚发现其他问题和答案似乎暗示现在需要它?无论如何,只是一个想法。
-
是您整个项目中该作者区域中唯一的“HomeController”吗?我在项目中收到多个 HomeController 的错误,但也许您以某种方式抑制了该错误?
-
@jaminto 我在项目的每个区域都有一个 HomeController,我绝对不会抑制我知道的错误。就像我说的,这一切都在我的开发机器上运行,只有在我部署时才会出现问题。
标签: asp.net-mvc asp.net-mvc-routing asp.net-mvc-4 asp.net-mvc-areas