ASP.net MVC를 사용하면 폼에 있지만 URL에없는 매개 변수를 포함하는 컨트롤러 동작에 양식을 게시 할 수 있습니까? 예를 들어ASP.NET MVC - URL의 추가 매개 변수가있는 POST 작업 메서드
GroupController의 작업 방법 :
이[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(int idOne, int idTwo, Model model)
{ ... }
가 경로 :
이"{controller}/{action}/{idOne}/{idTwo}"
게시 URL :이 예에서
/Employee/Show/1/42
이 양식은 에 게시 중 다른 컨트롤러, 모델은 올바른 값을 가지고 있지만 다른 매개 변수는 기본값이 0입니다.
내가 예상했던 동작은 ModelBinder가 주어진 경로와 일치하는 두 개의 매개 변수를 가지고 있으며 현재 GET 연산과 동일한 방식으로 매개 변수에 1과 42의 값을 전달합니다.
이 동작은 지원되지 않습니까? 아니면 뭔가 빠졌습니까?
편집 : 컨트롤러 Employee
에 대한 Show
보기의 양식은 다른 컨트롤러에 게시 된 양식을 포함, 명확하게합니다. 우리는 그것을 Group
라고 부를 수 있습니다. 매개 변수가 경우에만 형태로 매핑하는 것을 내가 찾은 Html.BeginForm
에 대한 다양한 오버로드를 시도 후
Html.BeginForm("Create", "Groups")
을 다음과 같이
은 양식 조치 URL은 양식 선언이
/Groups/Create/0/0
처럼 보인다 액션 URL은 브라우저 주소창의 현재 URL과 일치합니다.
URL /Groups/Create/1/42
으로 이동하면 새 양식이 생깁니다. 그런 다음 양식을 제출하면 URL 경로 값이 POST 작업에 전달됩니다.
내가 모델을 포함하도록 경로를 정의하고 널 (null)의 기본값으로 설정을 시도하고 어떻게 볼 것입니다 작동합니다. {컨트롤러}/{액션}/{idOne}/{idTwo}/{모델}' –