私は.ascx
ファイルのリストを持っています。これらの設定はコントローラ自体の計算上、それぞれ異なるタスクを実行します。だから私の.aspx
ページで私はAjax.ActionLink()
をクリックすると、これは具体的な.ascx
ファイルをクリックしたことに基づいてレンダリングされます。その内に.ascx
は、それらのうちの2つを発火させる1-3イベントはonclick
イベントであり、1はonload
です。 onclick
イベントは、.ascx
がロードされたときに、onclick="$("#toggleMe3").slideToggle("slow");"
とonload
のようなコントロールイベントで直接ハードコードできます。$(document).ready(function(){});
コールでこれをテストしていましたが、これは正常に動作します。 .aspx
ページですが、それを.aspx
ページに追加しようとするとすぐに読み込まれず、理想的ですが、どうしていいのかわかりません。実際には、スクリプトのタグ内の何も私が直接.ascx
ページに挿入すると、コントロールのイベントにハードコードされていれば機能します。 onload
およびonprerender
は起動しません。
答えて
$(document).readyで指定された部分的なポストバックスクリプトが実行されなかったのと同じ問題がありました。私はここで解決MSDN - PageRequestManager Class
は以下のここでの問題
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>
私はXHR経由でロードされる私の部分に$(document).readyを使って成功しました。 JavaScriptの例外をスローするXHR経由で読み込んでいるビューはありますか?それとも不正な形式のHTMLが含まれていますか?
私は通常、私はあなたの質問を理解するのに苦労していたような...
<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>
、私の$(文書)私はAjaxを介して負荷というのが私の部分の底に.ready方法を持っている...しかし、ここに行く。
AJAX呼び出しを使用して日付をロードする場合、ページが既にロードされているため、$(document).ready()イベントは発生しません。今すぐもっと多くのデータをロードしています。
コントロールが既にわかっている場合は、JavaScriptをプリロードしますが、クリックイベントハンドラを使用してバインドするのではなく、ライブハンドラを使用します。
ので
$("#myControl").click(....);
これはあなたが探していたものでない場合
$("#myControl").live("click", ....);
申し訳ありませんになります。
この仕事は私のために働いたのですか?ページが動的にロードされない場合は – Ayo
、はい。それ以外の場合は、liveをaspxからイベントハンドラをプリロードする必要があります。 そうでなければ、コンテンツがロードされたことを知り、ロードされたjavascriptを呼び出すためにクライアント側にいくつかのフックを追加する必要があります。 –
に同じ問題を修正するようなスクリプトを追加するように見えました。 –