엔티티를 만들기위한 MVC 페이지가 있습니다. 완료되면 상위 엔티티로 리디렉션하려고합니다. 나는 이런 식으로 작업을 수행합니다ASP.NET MVC가 다른 매개 변수와 마찬가지로 "id"라는 경로 매개 변수를 처리하도록합니다.
return RedirectToAction("Edit", new { foo = vm.Parent });
이 /Entities/Edit?foo=234
로 렌더링하지만 ASP MVC는 경로를 집어 들고 : 나는 다른 매개 변수 이름을 사용하는 경우,가 URL의 PARAM로 해석됩니다
return RedirectToAction("Edit", new { id = vm.Parent });
매개 변수는 id
이며 특수한 경우 URL은 /Entities/Edit/234
입니다. 이것은 라우팅이 이것으로 작동하지 않기 때문에 나에게 효과가 없다. /Entities/Edit?id=234
과 같은 URL을 얻으려고합니다.
어떻게 강제로 작동합니까? 경로 설정 : 그것의 모습으로
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
경로 설정에서 다음과 같은 매핑 된 경로를 찾습니다. "{controller}/{ action}/{id} "'그리고 질문에 세부 사항을 추가하십시오. – spender
기본 경로를 사용하고 있습니까? –
@spender가 경로 설정을 추가했습니다. – Johanes