반응형
ActionLink의 ID를 컨트롤러에 전달하는 ASP.NET MVC
컨트롤러의 html.ActionLink에서 보내는 ID를 검색 할 수 없습니다. 여기에 제가하려는 작업이 있습니다.
<li>
<%= Html.ActionLink("Modify Villa", "Modify", "Villa", new { @id = "1" })%></li>
public ActionResult Modify(string ID)
{
ViewData["Title"] =ID;
return View();
}
이것이 내가 따라 간 튜토리얼에서 권장하는 내용이지만 작동하지 않으며 URL 끝에? Length = 5를 추가합니다!
미리 감사드립니다!
편집 : 여기에 내가 사용하고있는 경로가 기본입니다.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
누군가가 아래의 두 가지 제안을 반대했지만 솔루션을 게시하지 않은 것 같습니다!
ActionLink의 올바른 오버로드를 사용하고있는 것 같지 않습니다. 이 시도:-
<%=Html.ActionLink("Modify Villa", "Modify", new {id = "1"})%>
이것은보기가 / Views / Villa 폴더에 있다고 가정합니다. 그렇지 않다면 나는 당신이 필요하다고 생각합니다 :-
<%=Html.ActionLink("Modify Villa", "Modify", "Villa", new {id = "1"}, null)%>
MVC 4에서는 한보기에서 다른 컨트롤러를 통해 Id 또는 기본 키를 전달하는 다른 컨트롤러로 연결할 수 있습니다.
@Html.ActionLink("Select", "Create", "StudentApplication", new { id=item.PersonId }, null)
ID 앞에 @를 넣지 마십시오.
new { id = "1" }
프레임 워크는 매개 변수 / 경로에 불일치가있을 때? Lenght로 "번역"합니다.
MVC 5에서 매우 유사합니다.
@Html.ActionLink("LinkText", "ActionName", new { id = "id" })
ID는 @
사인 인 앞에서도 작동 하지만 그 뒤에 하나의 매개 변수를 추가해야합니다. 그건null
다음과 같이 보입니다.
@Html.ActionLink("Label Name", "Name_Of_Page_To_Redirect", "Controller", new {@id="Id_Value"}, null)
반응형
'programing tip' 카테고리의 다른 글
HTML5에서 캔버스를 중앙에 배치하는 방법 (0) | 2020.08.23 |
---|---|
Nullable을 증가시키지 않는 이유 (0) | 2020.08.23 |
모듈 __file__ 속성은 절대적입니까 아니면 상대적입니까? (0) | 2020.08.22 |
InputStream에서 File 객체를 만들 수 있습니까? (0) | 2020.08.22 |
Linux보다 Windows에서 새 프로세스를 만드는 데 더 많은 비용이 드는 이유는 무엇입니까? (0) | 2020.08.22 |