2012-04-24 9 views
1

일부 데이터를 나타 내기 위해 ListView 서버 컨트롤을 사용하고 있습니다. 선택 명령을 실행하면 페이지가 올바르게 다시 게시됩니다. pageload에서 데이터 소스를 바인드하면 selectedindexchanging 이벤트가 취소됩니다. pageload에서 주석을 달기 위해 데이터 바인딩을 토글했으며 제대로 작동했습니다.데이터 바인딩 작업이 selectedindexchanging 이벤트를 취소합니다.

내 데이터 바인딩 방법은 다음과 같습니다.

public void BindData() 
    { 
     lstSamples.DataSource = (Session["AnalyzeApp"] as AnalizBasvurusu).SampleInfos; 
     lstSamples.DataKeyNames = new string[] {"Key"}; 

     lstSamples.DataBind(); 
    } 

그리고 난 그런 식으로 사전에

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (IsPostback) 
     BindData(); 
    } 

감사를 호출합니다. 당신이 당신의 이벤트 (SelectedIndexChanging..etc)를 처리 한 후

+0

질문이 있습니까? 'SelectedIndexChanged' 또는'ItemCommand' 대신'SelectedIndexChanging'을 처리해야하는 이유가 있습니까? – pseudocoder

+0

실제로 모든 이벤트가 취소됩니다. ** OnItemCommand ** 및 ** SelectedIndexChanged ** 등은 해고 될 수 없습니다. Page_Load에서 데이터를 바인딩 할 때 Page_Load에서 일을 수행합니다. –

답변

0

전화 BindData() :

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostback) 
     BindData(); 
} 
+0

릭의 솔루션이 잘 작동했습니다. 그러나 나는 왜 정확히 얻지 못했습니다. 바인딩 데이터가 이벤트 스택 또는 무엇인가를 지 웁니까? –

+0

ASP.NET 페이지 수명주기를 확인하십시오. http://msdn.microsoft.com/en-us/library/ms178472.aspx –