DataGrid 내에서 데이터 바인딩된 텍스트 상자의 변경된 값을 검색하는 방법

StackOverflow https://stackoverflow.com/questions/78847

  •  09-06-2019
  •  | 
  •  

문제

ASP.NET 1.1 - 데이터 바인딩되어 있고 텍스트 상자 내에 값을 표시하는 ASPX 페이지에 DataGrid가 있습니다.사용자는 이 값을 변경할 수 있으며, 기본적으로 그리드의 각 DataGridItem을 반복하는 코드 뒤에 있는 버튼을 클릭하고 텍스트 상자의 ID에 대한 FindControl을 수행한 다음 .Text 값을 변수에 할당합니다. 데이터베이스를 업데이트하세요.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
}
도움이 되었습니까?

해결책

그렇다면 코드 샘플은 버튼 클릭 이벤트에서 나온 것인가요?

포스트백 시 데이터 소스를 리바인딩하지 않으시겠습니까?

다른 팁

언제 TextBox에서 값을 검색하려고 합니까?즉.제공한 코드 샘플은 언제 실행되나요?

아직 설정하지 않은 경우 DataGrid의 ItemCommand 이벤트에 대한 처리기 메서드를 설정해야 합니다.해당 메서드 내에서 새 TextBox 값을 찾아야 합니다.또한 포스트백 시 DataGrid가 다시 데이터바인딩되지 않는지 확인해야 합니다.

또한 DataGrid 컨트롤 및 모든 기능 사용에 대한 Scott Mitchell의 훌륭한 기사 시리즈를 읽어 보시기 바랍니다.http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top