2010-04-19 6 views
1

기본적으로 제목이 말합니다. 새로운 MVC 애플리케이션을 만들었습니다. 나는 사이트에 새로운 페이지를 추가하기 위해 노력하고있어,하지만 언제 나는 다음과 같은 오류를받을 수 있나요 : 여기 ASP.Net MVC에서 새로운 컨트롤러 또는 뷰를 사용할 수 없습니다.

Server Error in '/' Application. 
The resource cannot be found. 
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Products 

은 ProductsController가라는 내 컨트롤러입니다.

namespace MyAppMVC.Controllers 
{ 
    public class ProductsController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View("Index"); 
     } 
    } 
} 

또한

  return View(); 

을 시도했다 그러나 그것은 작동하지 않았다.

내보기는 Index.aspx라고하며보기/제품 폴더에 있습니다.

모든 것이 나에게 잘 보이는 것처럼 보였습니다. NerdDinners 자습서를 살펴본 결과 나 외에 다른 것을하지는 않습니다. 앱과 함께 제공되는 홈 컨트롤러를 살펴본 결과 내 모습이 동일하게 보입니다. 나는 라우팅에 아무 것도 추가 할 필요가 없다고 확신하지만, 아마도 그렇게 할 것이다.

아이디어가 있으십니까? 이것은 저를 난처하게했습니다. 요청에 따라

여기 내 global.asax.cs이

public class MvcApplication : System.Web.HttpApplication 
{ 
    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

    } 

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

     RegisterRoutes(RouteTable.Routes); 
    } 
} 
+0

Global.asax.cs 파일에서 RegisterRoutes 메서드를 추가 할 수 있습니까? 그냥 확인하십시오 – Thomas

+0

요청에 따라 global.asax.cs 파일을 추가했습니다. –

답변

1

문제는 결국 문제를 일으키는 파일 뒤에 코드가있는 잘못된 마스터 페이지를 만들었습니다. MVC가 Add New 대화 상자에서 Master Page에 대한 자신 만의 선택임을 알지 못했습니다. 죄송합니다.

모두에게 도움을 주셔서 감사합니다.

4

Phil Haack's route tester를 사용하여 라우팅을 확인 파일, 당신의 경로가 제대로 원하는 컨트롤러 방법으로 라우팅되어 있는지 확인합니다.

+0

나는 이것을 줄 것이다. 감사. –

0

IIS6을 사용 중이며 와일드 카드 매핑을 활성화하지 않았을 수 있습니다. 또는 기본 문서를 Default.aspx로 설정하지 않았습니까? 또는 응용 프로그램 루트에서 Default.aspx를 삭제 했습니까? :)

+0

IIS 문제 일 수 있습니다. 방금 MVC를 설치하고 거기에서갔습니다. 현재 Visual Studio를 통해 앱을 실행 중입니다. 확인해 보니 IIS7이 있습니다. 와일드 카드 매핑을 설정하는 방법을 잘 모릅니다. 기본 파일을 삭제하지 않았으며 응용 프로그램 (홈 및 정보 및 로그인/등록 페이지)과 함께 제공되는 다른 페이지가 제대로 작동하므로 잘로드 된 것 같습니다. –

+0

글쎄 ..이게 훨씬 더 흥미 진진합니다 .. IIS7에서는 와일드 카드 매핑이 필요하지 않습니다. 다른 컨트롤러가 제대로 작동하면 문제는 앱 자체에 있음을 의미합니다 .. 때로는 가장 이상한 문제 가장 간단한 솔루션을 가지고 있습니다. 페이지를로드하기 전에 솔루션을 다시 빌드 했습니까?^_^ –

+0

내가 가지고 있던 문제는 결국 마스터 페이지에서 발생했습니다. 위의 내 대답을 볼 수 있습니다. 도움 주셔서 감사합니다. :) –

관련 문제