2011-11-24 1 views
2

안녕하세요 모두 MVC3 라우팅 및 영역에 문제가 있습니다.ASP.NET MVC] 라우팅 일치하지만 컨트롤러가 호출되지 않았습니다. -> 404

내 경로가 일치하지만 컨트롤러가 호출되지 않고 대신 404 오류가 발생합니다.

나는이 프로젝트와 함께 MVC3 솔루션 설정 한

:

  • 하나는 주요 MVC 프로젝트입니다 : CityServices 지역에 대한
  • 하나 : CityServices.Demo

ProjectSetup

내 지역에서 나는 다음 경로를 등록합니다 :

StuffController.cs의 37,993,210

내용 :

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); 
    } 
} 

내가 주 프로젝트에 지역 등록은 : http://host/Test 을하지만 난 항상 404 오류가 발생합니다 :

protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
     //RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes); 
    } 

내 경로가 일치합니다.

아이디어가 있으십니까?

감사합니다, - 제레미

편집 : 그래서

솔루션 찾을 수

enter image description here 그것을 요약하는 다음은 경로가 일치하는 증거입니다. My AreaRegistration inherited 클래스가 내 컨트롤러와 동일한 네임 스페이스에 있지 않았습니다. 나는 어떤보기 (그냥 편안한 websvc)가 없었기 때문에 MvcContribs는 기본 사이트와 다른 프로젝트에 & 컨트롤러가있을 때 유용 할 것 같습니다. 이 질문에 도착하면이 도움이

희망, 당신은 MvcContribs 휴대용 지역이나

+0

경로가 실제로 요청과 일치하는지 어떻게 확인 했습니까? – Jan

+0

경로가 일치하는 것을 볼 수있는 스크린 샷을 추가했습니다. (Haack의 라우트 디버거 사용) –

답변

4

당신은, 기본적으로 작동하지 않습니다 다른 프로젝트에서 해당 지역을 json에 대해 allow get을 설정해야합니다.

return Json(data, JsonRequestBehavior.AllowGet) 
+0

루트 인젝션이 작동하기 때문에 이상합니다. 귀하의 조언을 Google에 시도해 보겠습니다. –

+0

MvcContribs (http://goo.gl/OmCxZ)를 사용해 보았습니다. 그것은 그들의 게시물을 따라 일했습니다. 그러나 실제로 문제는 커스텀 impl을 사용하지 않는 것에 관한 것이 아닙니다. 그것은 네임 스페이스 문제 (MvcContribs 게시물을 읽는 동안 발견 한)였다. MvcContribs 커스텀 impl은이 프로젝트에서 사용하지 않는 뷰를 사용할 때 유용합니다. –

0

내가 생각하는 또 다른 정의 구현을 사용하지 않는 경우)

+0

시도했지만 문제가 지속됩니다. –

+0

내 응용 프로그램과 동일한 프로젝트의 영역에서 작업을 수행했습니다. 이 두 가지 대답의 조합이 필요합니다. –