2012-04-24 13 views
1

私はListViewサーバーコントロールを使ってデータを表しています。私がSelectコマンドを起動すると、Pageは正しくポストバックします。 pageloadでデータソースをバインドすると、selectedindexchangingイベントがキャンセルされます。私はpageloadでコメントするためにデータバインディングをトグルし、正しく機能しました。データバインディングアクションは、選択された変更イベントをキャンセルします。

私のデータバインディング方法は次のとおりです。

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(); 
    } 

おかげでそれを呼び出します。

+0

質問はありますか? 'SelectedIndexChanged'や' ItemCommand'の代わりに 'SelectedIndexChanging'を扱う必要があるのでしょうか? – pseudocoder

+0

実際には、すべてのイベントをキャンセルします。 ** OnItemCommand **や** SelectedIndexChanged **などは起動できません。 Page_Loadでデータをバインドすると、Page_Loadで何かが行われます。 –

答えて

0

コールBindData()あなたのイベント(SelectedIndexChanging..etc)を処理した後:

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

ありがとう、rickのソリューションはうまくいきました。しかし、私は正確になぜそれを取得しませんでした。バインディングデータがイベントスタックなどをクリアしますか? –

+0

ASP.NETページライフサイクルをチェックしてください。http://msdn.microsoft.com/en-us/library/ms178472.aspx –

関連する問題