【发布时间】:2011-06-10 09:25:50
【问题描述】:
我在 asp.net MVC3 中有工作应用程序。今天,当我在 VS2010 中处理它时,我发现特定控制器的任何动作都没有触发。在浏览控制器/操作时,我收到页面未找到消息。我检查了所有页面都存在(控制器,视图)。即使我向该控制器添加新操作,它也不会被调用。同时来自其他控制器的操作工作正常。我可以访问页面。这很奇怪,我无法弄清楚。 有什么帮助吗?
编辑:
不工作的控制器动作是http://localhost:7400/Registration/MedicalHistory/0
来自 global.asax 的代码
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// Home and error page
routes.MapRoute("error", "error", new { controller = "Home", action = "Error" });
//Default routing
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Program", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "ASPNETMVCApplication.Controllers" }
);
//Admin routing
routes.MapRoute(
"Admin", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Program", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "ASPNETMVCApplication.Areas.Admin.Controllers" }
);
}
MedicalHistory 行动:
[HttpGet]
public ActionResult MedicalHistory(int id = 0)
{
//some code
return View()
}
【问题讨论】:
-
我敢打赌你搞砸了路线。
-
您在注册控制器中的 MedicalHistory 操作看起来如何?
-
我认为问题在于路线结构复制
-
@Evgeniy 我删除了第二个路由并只保留了一个但仍然存在问题..非常奇怪
-
相关控制器的名称是什么?
标签: asp.net-mvc-3