2012-03-29 2 views
0

쿼리 스트링 이외의 다른 방법으로 쿼리 리스닝이 아닌 리디렉션 (하이퍼 링크가 POST가 아니기 때문에) 값을 전달할 수 있습니까? 하이퍼 링크를 클릭 할 때 루트 URL 매개 변수를 사용하지 않고 내 동작 메서드에 몇 가지 물건을 보내고 싶습니다. 항상 노출하고 싶지 않거나 때로는 URL에 악몽이 될 수있는 지나치게 복잡한 문자열입니다. 거래 (인코딩 등).하이퍼 링크를 사용할 때 ActionMethod에 데이터를 전달하는 방법

내 viewModel 객체는 포스트 백과 함께 분명히 지속됩니다. 잘못이 아니라면 하이퍼 링크가 게시되지 않습니다.

답변

0

다른 데이터를 보내려면 양식을 사용하여 게시물을 제출하거나 아약스를 통해 동일한 작업을 수행해야합니다. 그러나 폼 포스트를 액션에 적용하는 것은 꽤 어려움이 있습니다.

@using(Html.BeginForm("ActionName","ControllerName",FormMethod.Post)){ 
... 
} 
+0

바로 내 질문에 대한 답변을했습니다. 하이퍼 링크가 게시되지 않으므로 하이퍼 링크 만있는 유일한 옵션은 쿼리 방법을 통해 데이터를 보내는 것입니다. 나는 Html.BeginForm을 사용하는 방법을 안다.하지만 POST (등등)를하기 위해 저장 이벤트 (버튼 등)를 사용하는 것이 보통이다. 문제가되지는 않지만, 하이퍼 링크를 폼에 둘러 쌀 수 있고 클릭하면 다시 게시 될 것이다. ? 리디렉션 만하지 않습니까? 어쩌면 나는 다만 여기에서 기본 틀을 가지고있을 것이다 – PositiveGuy

+1

그렇습니다, 하이퍼 링크는 브라우저의 주소 표시 줄에 다만 "지름길"이다. 하이퍼 링크로 매개 변수를 전달하는 유일한 방법은 url (쿼리 문자열)에 넣는 것입니다. 하이퍼 링크가 양식 안에 있다면 문제가되지 않으며, 하이퍼 링크 용 자바 스크립트 및 onclick 핸들러를 사용하지 않으면 양식을 제출하지 않습니다. – Kosta

+0

그게 내가 생각한 멋진거야. 그럼 버튼이 아니라, 포스트 백을위한 유일한 옵션입니다. – PositiveGuy

관련 문제