2012-01-29 2 views
4

사용자가 배송 주소를 입력하고 주문할 수있게하는 MVC 3 응용 프로그램에서보기가 있습니다. 보기에 표시하는 양식 필드는 사용자 프로필 필드와 정확히 동일합니다. 그래서 사용자가 자신의 프로필에 입력 한 데이터를 저장하는 링크를 고려하고 싶습니다. 이름, 성, 주소 등의 필드. Ajax.ActionLink를 사용하고 싶지만 문제는 양식 필드를 데이터를 저장하는 액션으로 보내는 방법을 모른다는 것입니다. 내가 가지고있는 것은 :Ajax.ActionLink를 사용하여 양식 필드 게시하기

@Ajax.ActionLink("Save into profile", "SaveAccountProfile", new{ address=????}, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, OnSuccess = "alert('Account profile was successfully updated.')" })

나는 경로 데이터로 무엇을 게시 할 것인가?

답변

7

이 경우 Ajax.BeginForm을 사용해야합니다. 이렇게 양식 필드 값이 자동으로 서버에 게시됩니다.

@using (Ajax.BeginForm("SaveAccountProfile", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, OnSuccess = "alert('Account profile was successfully updated.')" })) 
{ 
    ... some input fields 
    <input type="submit" value="Save into profile" /> 
} 
+0

문제는 양식이 사용자가 주문하기위한 것입니다. 따라서 이미 양식을 제출하는 버튼이 있습니다. 앞에서 말한 것처럼 링크 나 버튼을 계정 프로필로 저장하기 위해 동일한 필드 (텍스트 상자)를 게시하도록 고려할 것입니다. – user1137993

+1

@ user1137993이 경우에는 jQuery를 사용하여 눈에 띄지 않게 AJAXify하는 표준 Html.ActionLink를 사용하는 것이 좋습니다. 서버에 전송 된 매개 변수를보다 잘 제어 할 수 있습니다. $ .ajax metod를 사용하면 데이터를 데이터 서버로 전달할 수 있습니다. –

+0

감사합니다. 이것은 유일한 방법 인 것 같습니다. – user1137993

관련 문제