2012-03-29 5 views
0

Ajaxを使用してRadListViewのデータソースをバインド/再バインドすることはできますか?私がしようとしているのは、一種のフォーラムを作ることです。 1つのListViewは別のリストビューにネストされています。外側のリストビューは、ページの読み込み時にロードされ、件名のヘッダーをすべて表示します。内側のリストビューは、ヘッダーがクリックされるまでバインドされません。次にjQueryを使用してヘッダーの下にある詳細を開き、ajaxを使用してListViewをロードします。これは可能ですか?または私はこの効果を達成するために別の方法がありますか?ありがとう。ajaxを使用してリストビューのデータソースをバインド/リバインドしますか?

答えて

0

UpdatePanelに外側のリストをラップし、OnClickハンドラを件名に割り当てることができます。件名がクリックされると、非同期のポストバックが発生し、clickイベントハンドラの内部のリストをバインドできます。

コードビハインドにアクセスする必要があります。

$("#<%=ListView1.ClientID%> .header").click(function(){ 
    __doPostBack($(this).attr("id"), ""); 
}); 

あなたがこの方法で行く場合は、あなただけでRaisePostBackEventを上書きする必要があります:あなたはjQueryのを使用する場合は、ヘッダにイベントをクリックして、このように、ハンドラで__doPostBackを呼び出す添付することができますコードビハインドを使用し、少しのロジックを使用して内側のリストにドリルダウンします。

0

ポストバックを気にしないなら、ネストされたListViewをワイヤリングし、ItemCommandイベントにヘッダーフックを付け、必要なRadListViewをバインドして他のものを隠すことが簡単な方法です。ページングや並べ替えをしない場合は、現在選択されている項目ListViewのみを表示するため、これらのコントロールでViewStateを無効にしてサイズを小さくすることができます。より速く、ポストバックのために

、あなたがRadListView

のためにクライアント側のデータバインディングで

http://demos.telerik.com/aspnet-ajax/listview/examples/client/programmaticdatabinding/defaultcs.aspx

をloookすることができますあなたはあなたの場合(だけでなく、外側のdivをデータバインドするリストビューのクライアントIDを送信することができます機能を生成しますヘッダーをクリックすると表示されます)。

この関数は、ListViewを検索し、外部コンテナを表示し、それをデータバインドします。もしあなたがその機能を望むのであれば、現在表示されているdivを崩壊させるコードを含めることもできます。直前のdivのIDを保存するグローバル変数は、簡単に動作する方法です。

関連する問題