가장 좋은 방법은 두 개의 다른 컨트롤러 메서드를 추가하고 두 개의 서로 다른 URL에 매핑하는 것입니다. 이것은이 두 번째 컨트롤러에이 URL List/Filter/xxCriteriaName/xxxCriteriaRank
매핑합니다 첫 번째 컨트롤러
routes.MapRoute(
"Filter", // Route name
"{controller}/Filter/{criteria1}", // URL with parameters
new { controller = "List", action = "Filter1", criteria="" } // Parameter defaults
);
이 URL List/Filter/xxCriteria/
을 매핑합니다
:
public ActionResult Filter1(string criteria1);
public ActionResult Filter2(string criteria1, criteria2);
그런 다음 두 개의 경로 정의를 가지고있다. 이 경로없이 여전히 두 번째 방법에 URL을 매핑 할 수 있지만처럼 보일 것입니다 :
routes.MapRoute(
"Filter2", // Route name
"{controller}/Filter/{criteria1}/{criteria2}", // URL with parameters
new { controller = "List", action = "Filter2", criteria1 = "", criteria2 = "" } // Parameter defaults
);
List/Filter/?criteria1=xx&criteria2=xx
가 도움이 바랍니다.
확실하지 않지만 ActionResult 메서드에서 프로그래밍 방식으로 다른 ActionResult 메서드를 호출 할 수 있습니다. 나는 이것을 많이한다. – CarneyCode