2009-05-06 5 views
1

안녕하세요, 저는 모두 다음과 같은 문제로 인해 실제로 나를 미치게 만듭니다. 내가 다시 게시의 모든 종류를 수행 한 후 기록으로포스트 백 이후에 Asp.net 데이터 바인딩이 손실되었습니다.

는 여러 컨트롤 가 LoginView가 LoggedInTemplate을 보여주는 것이 아니라,의 LoginStatus 나를 보여주고있다 (내 경우 ObjectContainerDataSource)에 부착 된 ObjectDataSource를 가진

위해 DetailsView 예를 들어, 자신을 바인딩하지 않습니다 in.

나는 거의 필사적이다. 나는 당신이 과거에 똑같은 문제를 겪었는지 알고 싶다. 그리고 나에게 약간의 힌트를 줄 수있다. 실제 코드 내가 제안 중 하나를 보지 않고 미리

답변

1

에서

덕분에 당신은 페이지의 EnableViewState 설정에서 개별 컨트롤을 찾습니다.

이것은 managing viewstate의 좋은 기사입니다. 당신은 또한 당신의를 Page_Load에서이 같은 섹션()

if(!IsPostback) 
{ 
    // code to bind some of your controls 
} 

그 코드에 코드를 찾아야한다

은 아니지만 포스트 백에서, 페이지를 입력 처음으로 호출 할 것이다. 페이지를 떠나 다시 돌아 오면 바인드 코드가 다시 실행됩니다.

0

page_load 이벤트에서 데이터 바인딩이 발생합니까? 그렇지 않은 경우 페이지가 다시로드 될 때 리 바인딩됩니까?

컨트롤이 동적으로로드 되었습니까?

+0

-1 무엇을 ?? 호기심이 누구에게이 투표를줬고 어떤 의견이라도 남길 수는 없었다. (나에게서 +1) – Prash

2

바인딩이 Page_Load 메서드에서 수행되는 경우 포스트 백이 아닌 루프 내부에 있는지 확인하십시오.

if (!IsPostBack) 
    { 
     //Your code to bind data 
    } 

각 페이지 다시로드 후에 페이지로드 이벤트가 트리거됩니다. 따라서 컨트롤이 위의 지정된 루프 내부에서 바인딩되지 않으면 포스트 백이 발생할 때마다 바인딩이 수행됩니다.

관련 문제