2011-12-07 4 views
1

내 시나리오는 gridview를 구현했습니다. 사용자가 페이지의 추가 버튼을 누르면 자바 스크립트를 사용하여 빈 입력 텍스트로 새 행이 생성 된 후 사용자가 입력 내용을 채우고 저장 버튼을 누릅니다. 값은 데이터 삽입을 처리하는 웹 서비스에 개체로 전송됩니다. 그 후 그리드 새로 고침, 바인딩 (새로 고침) 내 gridview 및 이후 html 단추에서 데이터를 삽입 할 게시판이 없습니다. 나는 HTML 테이블로 렌더하는 자바 스크립트에서 gridview에 접근 할 때 거기에 데이터를 바인딩 할 수있는 방법이 있다는 것을 알고있다. 거기에 어떤 해결책이 있는가?자바 스크립트를 사용하여 Bind gridview를 바인딩 하시겠습니까?

+0

아마도 제가 생각하는 해결책이 있습니다.하지만 gridview 테이블을 비우고 각 셀을 추가하여 다시 작성해야합니다. –

답변

2

이 것들은 당신이 GridView 구조에 의존합니다. 물론 HTML DOM 모델을 사용하여 수정할 수 있으며 gridview 끝에 새로운 행을 삽입 할 수 있습니다. 그러나 이것을 달성하기 위해 수작업으로 많은 노력이 필요하고 더 많은 버그가 발생할 수 있습니다.

다른 접근법은 UpdatePanel을 사용할 수 있습니다.

<ajax:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional"> 
          <ContentTemplate> 
            <asp:GridView ID="GridView" Visible="false" runat="server" HeaderStyle-Width="200" HeaderStyle-BackColor="#2B6292" HeaderStyle-ForeColor="White" 
            AllowSorting="true" AllowPaging="true" Width="600" AutoGenerateColumns="False" OnRowCreated="GridView_OnRowCreated" 
            DataKeyNames="Id" onsorting="GridView_OnSort"> 
              <Columns> 
                ... 
              </Columns> 
            </asp:GridView> 
          </ContentTemplate> 
          <Triggers> 
            <ajax:AsyncPostBackTrigger ControlID="CreateButton"/> 
          </Triggers> 
        </ajax:UpdatePanel> 

자세한 내용은 http://blogs.microsoft.co.il/blogs/dorony/archive/2008/05/23/using-updatepanel-to-disable-gridview-view-state.aspx을 참조하십시오.

+0

실제로 HTMl을 사용하고 싶습니다만, javascript의 배열 객체에 객체 배열을 가져 오는 방법입니다. 언제든지 데이터를 검색 할 때마다 객체가 정의되지 않는다고합니다. students = GetAllStudents(); –

+0

아약스 요청을하는 곳과 GetAllStudents를 반환하는 webmethod를 어디에 게시 할 수 있습니까? 기본적으로 학생들의 배열 인 .d 또는 .data 속성이 있습니다. – codeSetter

+0

나는 그것에 관한 질문을했다 : http://stackoverflow.com/questions/8429363/retrive-value-from-webservice-called-from-javascipt –

관련 문제