2009-06-24 5 views
0

처음에는 Html.BeginForm()을 사용하는 뷰가 있습니다. 게시 후 ViewData [ "Message"]가있는 메시지를 표시합니다. 그건 잘 작동합니다.x.BeginForm() 및 ViewData

Ajax.BeginForm()으로 변경하면 ViewData [ "Message"]가 null입니다.

무엇이 누락 되었습니까?

+0

컨트롤러에서 무엇을하고 있습니까? – DSO

+0

메시지를 설정하는 중 ... ViewData [ "Message"] = "고객 업데이트."; 돌아 가기보기 ("CustomerLoanList", loans); 컨트롤러를 변경하지 않고 .BeginForm() 비트 만 변경합니다. –

답변

0

Html.BeginForm을 사용하면 컨트롤러가 현재보기를 다시 렌더링하므로 html에 메시지가 올바르게 표시됩니다.

Ajax 요청을하면, 요청 성공 후 일어날 일을 제어 할 수 있습니다.

이 작업은 OnSuccess 속성에서 JavaScript 콜백 함수를 설정할 수있는 Ajax.BeginForm ajaxOptions 매개 변수를 사용하여 수행 할 수 있습니다.

+0

현재보기가 다시 렌더링되는 것이 맞습니다. 그리고 실제로 Ajax.BeginForm()으로 변경했을 때 새로운 AjaxOptions {,,}를 추가해야했습니다. 복사/붙여 넣기 한 JavaScript 코드에서 OnSuccess 함수에 대한 인수를 취하지 않았으므로 JS 함수가 호출되는 동안 내가 찾고있는 것을 달성하는 방법을 알지 못합니다. 어쩌면 내가 뭔가를 놓친 것일까 요? –