1

一連の要素を表示する DataList コントロールがあります。ユーザーがリスト内の要素をクリックしたときにポストバックを送信/実行するためのクライアント側機能を追加する方法について、誰かが私を正しい方向に向けることができますか (たとえば、リスト要素のルートである非表示の LinkBut​​ton を追加して配線することでいくつかの例を見ましたが、適切に動作させることはできませんでした。

乾杯、

--larsw


助けてくれてありがとう - jQuery メソッドに行きました。非表示の asp:LinkBut​​ton を (選択した項目の) ラムダ関数から呼び出して、ポスト バックを実行できるかどうか知っていますか?

コード例に小さなタイプミスがありました (他の誰かがこのスレッドを読んだ場合に備えて): jQuery セレクターに # を追加する必要がありました。' # <%= DataList1.ClientID %> td'

--larsw

4

1 に答える 1

5

「クライアント側のポストバック」などというものはありません。これは誤った記述です。ポストバックは、サーバー (または外部サーバー) への送信を意味します。

あなたが本当に探しているのは、いくつかの AJAX メソッドをページに追加することです。これは、いくつかの方法で行うことができます。

  • 更新パネル
  • 純粋な MS AJAX
  • MS AJAX と jQuery の混合 (または他の JavaScript ライブラリ。VS 2008 内でサポートされているため、jQuery をお勧めします)

UpdatePanel メソッド

非常に重いページがある場合、これは実際には最良のアイデアではありません。何に注目すべきかについてさらに詳しい情報を知りたい場合は、私が書いたブログ投稿をご覧ください - http://www.aaron-powell.com/blog.aspx?id=1195

簡単に言えば、制限が何であるかを理解していない場合、UpdatePanels は危険な選択になる可能性があります。

MS AJAX および/または jQuery

これは、あなたがすべきことに関する私の推奨事項です。jQuery を使用して、クライアント イベントを配置する DOM 内のすべての要素を見つけます。次に例を示します。

$('#<%= DataList1.ClientID %> span').click(function () { alert('You want something here'); });

David Ward は、ASP.NET/ ASP.NET AJAXでの jQuery の使用に関するいくつかの優れた投稿をしていますhttp://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

注: AJAX 実装を使用する場合は、ページのコントロールコレクションにアクセスできません。すべて静的メソッドの相互作用になるため、ページの複数のセクションを更新する場合は、JavaScript を記述する必要があることに注意してください。それを行う方法。

于 2008-12-29T11:12:11.177 に答える