asp.net net mvc4 및 javascript를 사용하여 단일 페이지 응용 프로그램을 작성합니다.ASP.NET MVC 4의 단일 페이지 응용 프로그램 경로
내 자바 스크립트에는 자체 라우팅 엔진이 있으므로 루트 아래의 모든 경로를 자바 스크립트로 처리하고 모든 경로를 api
아래 서버 측에서 처리하도록하고 싶습니다. 즉 : 그러나
/ <--- javascript handles
/api <--- ASP.NET MVC handles
, 나는이 노선을 처리하지 ASP.NET MVC를 구별하는 방법에의 단서를 가지고 있지 않으며, 내가 지금까지 시도도 실행되지 않습니다
routes.MapRoute(
name: "Client",
url: "/",
defaults: new { controller = "Home", action = "Index", }
);
routes.MapRoute(
name: "API",
url: "api/{controller}/{action}/{id}",
defaults: new { controller = "Tasks", action = "Index", id = UrlParameter.Optional }
);
모든 아이디어를 환영합니다. 감사합니다!
MVC의 경우 라우팅의 의미를 잘 모르겠습니다. MVC는 적어도 기본 기본 경로 (그리고 WebApi를 사용하는 경우 Api 경로)를 사용해야합니다. 라우팅 엔진은 MVC가 url을 기반으로 올바른 컨트롤러를 만들 수 있도록 해줍니다. MVC는 작동하지 않습니다. JavaScript가 MVC를 위해이 함수를 처리 할 방법이 없습니다. –
그의 질문이 합리적이었습니다. 클라이언트 측 라우팅은 SPA가 실행되는 동안 모든 경로 변경 *을 가로 채고 처리하지만 사용자가 링크 중 하나를 북마크하고 나중에 되돌릴 수 있습니다. 그런 경우 서버 측 라우팅을 올바른 클라이언트 측 경로를 제공 할 수 있도록 SPA를 다시로드 할 수 있도록 배선해야합니다. 그렇지 않으면 작동하지 않습니다. – blaster