質問

私は、このセットアップで少し問題を抱えているここで私は.ascxファイルのリストを持っており、それらはすべて、コントローラ自体への計算の面でさまざまなタスクを実行します。だから私の.aspxページに私がAjax.ActionLink()をクリックして、これは私がクリックした項目に基づいて、その特定の.ascxファイルをレンダリングします。その.ascx内でそれらの2を起動します1-3イベントはonclickイベントされており、1はonloadです。 onclickイベント(複数可)のようなコントロールイベントで直接それをハードコーディングすることができ、私の観点で動作するように簡単ですので、onclick="$("#toggleMe3").slideToggle("slow");"onload iは.ascx呼び出しでこれをテストしていたロードされたときに実行する必要があります$(document).ready(function(){});が、これはで正常に動作しますすぐに私はそれがこの作品が、私は考えていない理由を持っていないことをロードし、その理想的ではないん.aspxページにそれを追加してみて.aspxページけど。実際にスクリプトタグには何も私は.ascxページに直接挿入した場合、コントロールのイベント、少なくともそれらのもいくつかにハードコーディング場合、彼らは唯一の仕事に動作しません。 onloadonprerenderは発生しません。

役に立ちましたか?

解決

$(ドキュメント).readyの中に指定された部分ポストバックスクリプトが実行されなかった後に

私は、同じ問題を抱えていました。私はここで解決策を見つけた MSDN - PageRequestManagerクラス

以下のようなスクリプトを追加する

問題が修正されたように見えます
<script type="text/javascript">
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>

他のヒント

私は、XHRを経由してロードされます私のパーシャルで$(ドキュメント).readyを使用して成功を収めてきました。 JavaScriptの例外をスローXHRを経由して、あなたがロードしているビューはありますか?それとも、不正なHTMLが含まれていますか?

私は通常、私はAjaxを介して負荷というのが私の部分の底に私の$(ドキュメント).readyメソッドを持っている、のような...

<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>

私はあなたの質問を理解するのに苦労していた...しかし、ここでは行きます。

あなたはAJAXを使用して日付をロードする場合は、$(ドキュメント).ready()イベント発生しません呼び出す - ページがすでにロードされたので。あなたは今、より多くのデータをロードされます。

あなたはすでに事前にロードするJavaScript、つくれますどのようなコントロールを知っている場合は、代わりにクリックするだけのイベントハンドラを使用して結合する、ライブハンドラを使用します。

これ

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

タグに変身
 $("#myControl").live("click", ....);

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top