5

このセットアップで少し問題があります。.ascxファイルのリストがあり、それらはすべてコントローラー自体への計算に関して異なるタスクを実行します。したがって、私の.aspxページで をクリックすると、クリックした項目に基づいてAjax.ActionLink()その特定のファイルがレンダリングされます。.ascxその中.ascxに 1 ~ 3 個のイベントがあり、そのうちの 2 つはonclickイベントで、1 つはonloadです。イベントはonclick、コントロールイベントで直接ハードコーディングできるという点で作業が簡単で、ロードされたときに実行する必要がありますonclick="$("#toggleMe3").slideToggle("slow");"。呼び出しでこれをテストしていましたが、これはページで正常に動作しますが、すぐにに追加してみますonload.ascx$(document).ready(function(){});.aspx.aspxページが読み込まれず、これが機能するのが理想的ですが、なぜ機能しないのかわかりません。実際、ページに直接挿入すると、スクリプトタグの何も機能しません。.ascxコントロールのイベントにハードコードされている場合にのみ機能します。少なくともそれらのいくつかはそうです。と発火しないonloadでください。onprerender

4

3 に答える 3

1

$(document).readyで指定された部分的なポストバックスクリプトが実行されなかった後、同じ問題が発生しました。ここで解決策を見つけましたMSDN-PageRequestManagerクラス

以下のようなスクリプトを追加すると問題が解決するようです

<script type="text/javascript">
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>
于 2011-03-29T16:54:36.740 に答える
1

あなたの質問を理解するのに苦労しました...しかし、これで終わりです。

AJAX 呼び出しを使用して日付を読み込んでいる場合、ページが既に読み込まれているため、$(document).ready() イベントは発生しません。現在、より多くのデータをロードしています。

表示されるコントロールが既にわかっている場合は、JavaScript をプリロードしますが、クリック イベント ハンドラーを使用してバインドするだけでなく、ライブ ハンドラーを使用します。

それで

$("#myControl").click(....);

になる

 $("#myControl").live("click", ....);

これがあなたが探していたものではない場合は申し訳ありません。

于 2009-05-12T19:13:45.437 に答える
1

XHR 経由でロードされるパーシャルで $(document).ready を使用して成功しました。JavaScript 例外をスローする XHR 経由で読み込んでいるビューですか? それとも、不正な HTML が含まれていますか?

私は通常、Ajax 経由でロードするパーシャルの下部に $(document).ready メソッドを持っています。

<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>
于 2009-05-12T18:53:19.323 に答える