3
웹 응용 프로그램에서 여러 동작에 대해 여러 개의 라우트 컨트롤이 있습니다. route.config에서 여러 경로를 주문하는 방법은 무엇입니까?
이 행동
이 하나가action
이름을 통해 전화를
routes.MapRoute(
name: "ResumeRoute",
url: "{action}/{PublicResume}",
defaults: new { controller = "Business", action = "PublicResume" }
);
를 파라미터 유효 그리고 모든 기본 작업에 대해 이미
를 default-에 의해 하나 개의 경로 제어 할 수있다 파라미터 유효routes.MapRoute(
name: "SpecificRoute",
url: "{BusinessName}",
defaults: new { controller = "Business", action = "OpenPage" }
);
에 의해 호출된다
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{*id}",
defaults: new { controller = "WelcomeLedger", action = "Welcome", id = UrlParameter.Optional }
);
로컬 IIS 서버에이 응용 프로그램을 배포했습니다.
이제 route.config
파일에 문제가 발생했습니다. 적절한 방법으로 경로를 사용하지 않았을 수 있습니다.
이 응용 프로그램은 모든 동작에 대해 resource not found error
을 표시하며 때로는 솔루션을 청소 한 후에 작동합니다.
어떻게 사용 방식을 바꾸지 않고 동작을 사용할 수 있습니까?
이
은 그 위에 두 개의 사용자 정의 경로를 추가 한 후 (resource not found
를) 찾을 수 없습니다
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
namespace MvcApplication8 {
public class RouteConfig {
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.MapRoute(
name: "SpecificRoute",
url: "{BusinessName}",
defaults: new { controller = "Business", action = "OpenPage" }
);
routes.MapRoute(
name: "ResumeRoute",
url: "{action}/{PublicResume}",
defaults: new { controller = "Business", action = "PublicResume" }
);
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{*id}",
defaults: new { controller = "WelcomeLedger", action = "Welcome", id = UrlParameter.Optional }
);
}
}
}
편집 -
기본 경로 내 route.config 파일 -입니다.
거기 기본적으로했다 아니해야한다. 맞춤 경로를 삭제할 때 유의하십시오. 그 자원 오류는 결코 오지 않습니다. 그러나 나는 둘 다 정의 된 경로가 필요합니다. – Manoj
죄송합니다. mvc url의 기본값 인 "{controller}/{action}/{id}"이 (가) "{controller}/{action}/{* id}"URL이 아닙니다. – hutchonoid
나는 그것이 왜 있는지 몰라. 네, 기본 경로로 맞았습니다. 내 경로 파일이이 오타를 제외하고 올바른 것입니까? – Manoj