2009-03-19 3 views
1

내가 ObjectDataSource를 바인딩 된의 GridView를 가지고 있고, 나는 표준 용액을 사용하여 전체 행을 선택하여 처리하고 모든 OnRowDataBound()이 라인을 퍼팅의 이상 provdided :이 모든 노력업데이트 패널의 ASP.NET 3.5.1 행 선택시 다시 쿼리 하시겠습니까?

e.Row.Attributes["onclick"] = this.Page.ClientScript.GetPostBackEventReference(this, "Select$" + e.Row.RowIndex); 

날마다 행 선택이 변경 될 때마다 내 ObjectDataSource가 히트되고 있음을 알리는 것을 제외하고는 배후의 행 선택 코드에서 BindData()를 수행하지 않고 데이터가 선택의 결과로 변경되지 않았기 때문에 그리드가 리 바인드해야하는 이유를 실제로 볼 수 없습니다. 나는 gridview가 페이징과 정렬을 처리하게하지만, 선택은 내용을 변경시키지 않아서 효과가 있어야한다고 생각하지 않는다.

그리드 (매우 적은 양의 데이터)에 대해 뷰 상태를 켜고 시도했지만 아무 효과가 없습니다. UpdatePanel을 조건부 업데이트로 설정하고 자식을 triggers = false로 설정했지만 데이터로 인해 질의가 발생했지만 화면에 업데이트가 발생하지 않았습니다 (LOL!).

GridView 전문가가이 곳에서 찌르는 것을 원하십니까?

답변

1

당신은 당신의를 Page_Load()에서 다음 누락 :

If (!IsPostBack) 
{ 

} 

이 뭔가 개발자들이 많이 그리워한다! 이벤트를 따라하면 OnPostBack 이벤트가 발생하고 DB 코드를 호출하는 어딘가에있는 것을 볼 수 있습니다.

+0

아니란 것으로 판명되었지만 ... 그것은 나를 놀라게하지 않았을 것입니다! LOL. 페이지가 단순한 예제로 복잡해지기로 결정했다고 생각합니다. 그리고 그것은 그대로 작동하고 있으며 뷰 상태의 데이터를이 방식으로 전달하지 않으므로 행복해지기로했습니다. 그래도 고마워! :-) – John

관련 문제