{controller}/{action}/{id}
대신 {controller}/{action}/{id}/{another id}
과 같은 다중 매개 변수를 사용할 수 있습니까?MVC 4 : 다중 컨트롤러 동작 매개 변수
저는 MVC를 처음 사용합니다 (일반 웹 페이지에서 제공됨). 가능한 경우 MVC는 UrlData
과 같은 도우미 메서드를 웹 페이지에 제공합니까?
{controller}/{action}/{id}
대신 {controller}/{action}/{id}/{another id}
과 같은 다중 매개 변수를 사용할 수 있습니까?MVC 4 : 다중 컨트롤러 동작 매개 변수
저는 MVC를 처음 사용합니다 (일반 웹 페이지에서 제공됨). 가능한 경우 MVC는 UrlData
과 같은 도우미 메서드를 웹 페이지에 제공합니까?
당신은 다음과 같이 당신의 Global.asax에 새로운 경로를 매핑해야합니다
routes.MapRoute(
"NewRoute", // Route name
"{controller}/{action}/{id}/{another_id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional, another_id = UrlParameter.Optional } // Parameter defaults
);
그런 다음 컨트롤러의 행동에이 같은 매개 변수를 선택할 수 있습니다 :
public ActionResult MyAction(string id, string another_id)
{
// ...
}
예. 경로에서 여러 매개 변수를 정의 할 수 있습니다. 먼저 Global.asax 파일에서 경로를 정의해야합니다. URL 세그먼트 또는 URL 세그먼트의 일부로 매개 변수를 정의 할 수 있습니다.
public class MyController : Controller
{
public ActionResult Index(string id1, string id2)
{
//..
}
}
: 귀하의 예제를 사용하려면 다음 ID1과 ID2 세그먼트를 추출하고 액션 메소드에서 해당 변수에 할당하는 경로를 일치 구문 분석
{controller}/{action}/{id1}/{id2}
MVC의 인프라와 같은 경로를 정의 할 수 있습니다
또는 쿼리 문자열 또는 폼 변수에서 입력 매개 변수를 받아 들일 수도 있습니다. 예를 들어 :
MyController/Index/5?id2=10
라우팅 자세히 설명 here
당신은 당신의 행동 방법 매개 변수 목록에 첫 번째 ID를 추가해야합니다 : 공공 ActionResult의 시켜라 (문자열 ID, 문자열 another_id)를 모두 IDS에 의해 사용되도록 예제 액션. – Tommy
@ Tommy thanks, updated – McGarnagle
IIS express 및 full IIS 7에서이 작업을 시도했지만 두 번째 매개 변수로 Error 404.0이 발생했습니다. 나는 http://www.asp.net/mvc/tutorials/older-versions/deployment/using-asp-net-mvc-with-different-versions-of-iis-cs를 읽으려고했지만 아무 도움도주지 못했다. 어떤 제안? – DavidHyogo