2008-09-17 8 views
2

ASP.NET 1.1 - 데이터 바인딩 된 텍스트 페이지 내 값을 표시하는 aspx 페이지에 대한 데이터 격자가 있습니다. 사용자는이 값을 변경 한 다음 코드 숨김이 기본적으로 그리드의 각 DataGridItem을 반복하는 버튼을 클릭 할 수 있습니다. 텍스트 상자의 ID에 대한 FindControl이 .Text 값을 다음 변수에 할당합니다. 데이터베이스를 갱신하십시오. DataGrid가 새로운 값으로 리바운드됩니다.DataGrid 내에서 데이터 바인딩 된 텍스트 상자의 변경된 값을 검색하는 방법

내가 겪고있는 문제는 .Text 값을 변수에 할당 할 때 검색되는 값이 새로 입력 된 사용자 값이 아니라 원래의 데이터 바인딩 된 값이라는 것입니다. 이 문제의 원인은 무엇입니까?

코드 샘플 :

foreach(DataGridItem dgi in exGrid.Items) 
     { 
      TextBox Text1 = (TextBox)dgi.FindControl("TextID"); 
      string exValue = Text1.Text; //This is retrieving the original bound value not the newly entered value 
      // do stuff with the new value 
     } 

감사

답변

0

그래서 코드 샘플은 버튼 클릭 이벤트에서 무엇입니까?

포스트 백에서 데이터 소스를 리 바인드하지 않습니까?

+0

안녕 아 로스, 예는 button_click 이벤트에 : 나는 또한 매우 DataGrid 컨트롤과 모든 사용에 스콧 미첼의 우수한 기사 시리즈를 통해 읽는 것이 좋습니다

는 기능을합니다. 그냥 page_load ...에서 바인딩 확인 ... 젠장 - 그게 다야 - 바깥 쪽 바인딩 (! Page.IsPostBack) button_click 전에 호출되고있다. 감사합니다. – acripps

0

언제 TextBox에서 값을 검색하려고합니까? 즉, 제공 한 코드 샘플이 언제 실행됩니까?

아직 작성하지 않은 경우 DataGrid의 ItemCommand 이벤트에 대한 처리기 메서드를 설정해야합니다. 해당 메서드 내에서 새 TextBox 값을 찾고 있어야합니다. 또한 DataGrid가 포스트 백에서 다시 데이터 바인딩되지 않도록해야합니다. http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

+0

답장을 보내 주셔서 감사합니다. 다시 게시 할 때 DataGrid가 리바운드되지만 Aros가 먼저 들어 있기 때문입니다. 링크를 체크 아웃합니다. – acripps