大家好我有MVC3路由和區域問題:ASP.NET MVC]路由匹配但控制器從不調用。 - > 404
我的路由匹配,但控制器從來沒有被調用,而是我得到一個404錯誤。
我已經設置有2項目的MVC3解決方案:
- 一個是主MVC項目:CityServices
- 一個用於區域:CityServices.Demo
在我的地區我註冊以下路線:
StuffController.cs的內容:
public class StuffController : Controller
{
public ActionResult ListAll()
{
List<Stuff> lstStuff = new List<Stuff>
{
new Stuff()
{
Id = 0,
Name = "HEeey",
Value = 10.456f
},
new Stuff()
{
Id = 1,
Name = "Beeee",
Value = 456789.47879999f
},
new Stuff()
{
Id = 2,
Name = "HooAAaoo",
Value = 0f
}
};
return Json(lstStuff);
}
}
我在主項目登記面積:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
//RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);
}
我的路線匹配:http://host/Test 但我總是得到一個404錯誤。
任何想法?
感謝, - 傑里米
編輯:這是一個證明,該路由匹配:
找到解決方案
所以總結起來。 My AreaRegistration繼承的類與我的控制器不在同一個命名空間中。 因爲我沒有任何意見(這只是一個寧靜的websvc),我不必使用MvcContribs,這似乎是有用的,當你有一個不同的項目中的控制器比主站點&控制器。
希望這有助於你在這個問題上到達;)
你是如何檢查你的路線真的與請求相匹配的? – Jan
我添加了一張屏幕截圖,您可以看到路線匹配。 (使用Haack的路由調試器) –