3

この問題に関する投稿を確認しましたが、どの解決策もうまくいかないようです。

ページの head セクションにロードされる jquery スクリプトを含む js ファイルがあります。

トリガーボタンが配置されている子ユーザーコントロールを保持する updatepanel もあります。子ボタンが正しくクリックされると、updatepanel が更新されます。

jqueryが機能しなくなったことを除いて、すべて正常に機能します。

$(document).ready が部分的なポストバックで機能しないという情報を見つけたので、私の updatepanel の場合です。

また、ScriptReference を使用してパスを追加するとうまくいくという情報も見つかったので、これを UpdatePanel を保持しているユーザー コントロールの Page_Load に追加しました。

    ScriptReference sr = new ScriptReference("~/js/jquerycripts.js");
    ScriptManager.Scripts.Add(sr);

しかし、それも機能しません。

他に何を試すべきかわからない。

どんなアドバイスも役に立ちます。

ありがとうございました

4

2 に答える 2

3

$(document).ready(YourFunctionName); の代わりにこのコードを使用できます。

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(YourFunctionName)
于 2012-12-05T20:17:57.703 に答える
0

私が正しく理解していれば、updatepanel 内の子ボタンが jQuery コードをトリガーします。ドキュメントの準備ができたときに onclick 動作を追加しています。コンテンツを更新すると、最初の子ボタンがなくなります。新しいものに置き換えられる可能性がありますが、新しいものにはオンクリックの動作がありません。

これを修正する最も簡単な方法は、イベントの委譲です。onclick イベントを、更新されない updatepanel の親にアタッチします。詳細については、http: //api.jquery.com/on/のページを参照してください。あなたの場合、 on() が親に適用され、セレクターが子ボタンになります。

もう 1 つの方法は、updatepanel が読み込まれるたびに jQuery コードを再実行することです。

于 2012-11-29T18:58:46.097 に答える