您的位置:首页 > 编程语言 > ASP

ASP.NET MVC Controller与Areas下面的Controller同名的解决办法

2010-05-17 12:32 411 查看
问题重现:

当项目下:Controller/HomeController.cs时,

人在创建一个域Test,之后在建一个同名的HomeController: Areas/Test/Controller/HomeController.cs

运行报错:

Multiple types were found that match the controller named 'Home'. This can happen if the route that services this request ('{controller}/{action}/{id}/') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter.

The request for 'Home' has found the following matching controllers:

Web.Areas.Test.Controllers.HomeController

Web.Controllers.HomeController

解决办法:

/Areas/Test/TestAreaRegistration.cs

代码

context.MapRoute(

"Test_default",

"Test/{controller}/{action}/{id}/",

new { controller = "Home", action = "Index", id = UrlParameter.Optional },

new string[] { "Web.Areas.Test.Controllers"}

);

/Global.asax

routes.MapRoute(

"Home", // Route name

"{controller}/{action}/{id}/", // URL with parameters

new { controller = "Home", action = "Index", id = UrlParameter.Optional },

new string[] { "Web.Controllers"}

);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐