2009-05-28 3 views
0

HTML < 테이블의 행에 항목 목록을 표시하는 테이블 >이 있습니다. 항목 목록에 새 항목을 추가하려면 Ajax.BeginForm을 사용하여 AJAX를 통해 컨트롤러에 데이터를 전송하는 양식이 있습니다. 컨트롤러의 동작이 내 테이블에 추가 할 새 행을위한 마크 업을 포함하는 부분보기를 반환 완료되면 (예를 들면. <TR> <TD> ....... </TD > </TR >) . 내 질문은 기존 테이블을 새 행에 추가하는 방법입니다.Ajax.BeginForm()을 사용하여 <TABLE>에 행 추가

이 나는 ​​ID가 "userrightsgridheader"내 헤더로의 상단에 작성하도록 다음과 같이 내 Ajax.BeginForm 지정 :

<% using (Ajax.BeginForm(
        "CreateUserRight", 
        new { workstationId = Model.Id }, 
        new AjaxOptions 
        { 
         HttpMethod = "POST", 
         InsertionMode = InsertionMode.InsertAfter, 
         UpdateTargetId = "userrightsgridheader" 
        } 
       )) 
       { %> 

문제는이 작동하지 않는다는 것입니다. 누구든지 이것을 달성하는 방법에 대한 아이디어가 있습니까?

감사합니다.

new AjaxOptions { OnSuccess = "jsfunction" }; 

당신은 jsfunction에 tablerow을 추가 할 수 있습니다 : 다음 AjaxOption을 추가 할 수 있습니다

답변

1

, 이것은 Ajax 기능이 성공적으로 실행 'jsfunction'실행합니다.

업데이트를 다음과 같이 jsfunction를 정의 할 수 있습니다 :

AjaxContext ajaxContext = new AjaxContext(request, updateElement, loadingElement, ajaxOptions.InsertionMode); 
+0

어떻게 내에서 내 컨트롤러에서 반환 된 HTML에 대한 액세스를 얻을 것 다음과 같이

function jsfunction(ajaxContext) { //ajaxContext contains the responseText } 

AjaxContext가 정의 JS 함수? –

+0

업데이트 된 게시물보기 – Ropstah

+0

Thanks a lot. ajaxContext 객체에 get_data() 메서드를 사용하여 데이터를 얻은 다음 jQuery를 사용하여 테이블에 행을 추가했습니다. –