私はプレイリストを読み込むページがあります。プレイリスト内の個々の曲はjqueryでプレイリストの周りをドラッグすることができます。このページには、ajaxの更新パネルによるサーバー側のソートも組み込まれています。問題は、サーバー側の並べ替えを行った後、jqueryメソッドがもう動作しないことです。asp.net ajax jquery
asp.net ajaxパネルがページを更新した後、jqueryメソッドがドキュメントに再接続されますか?
私はプレイリストを読み込むページがあります。プレイリスト内の個々の曲はjqueryでプレイリストの周りをドラッグすることができます。このページには、ajaxの更新パネルによるサーバー側のソートも組み込まれています。問題は、サーバー側の並べ替えを行った後、jqueryメソッドがもう動作しないことです。asp.net ajax jquery
asp.net ajaxパネルがページを更新した後、jqueryメソッドがドキュメントに再接続されますか?
更新パネルを使用している場合は問題があります。ページが読み込まれるたびにサーバー側からjavascriptを追加する必要があります。これは、すべてのJavaScriptコードを文字列変数に追加して追加することで行うことができますScriptManager.RegisterStartupScript(this, this.GetType(), "validation", script, false);
を使用すると、関数とその引数の詳細情報を取得するには、「http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerstartupscript.aspx/に行ってください。
この
private void addScript()
{
string script = @"<script type=""text/javascript"" language=""javascript"">
javascript function including jquery
</script>";
ScriptManager.RegisterStartupScript(this, this.GetType(), "validation", script, false);
}
すべてのJavaScript関数は、文字列script
に追加されますように。 コールをあなたが機能を作ることができますpageload.Soの関数それは再びページに追加されます。 これは問題を解決すると思います。
のasp.net ajaxの パネルは、ページを更新した後、jqueryのメソッドは、ドキュメントに再接続 を得るのですか?
短い答えは、document.readyイベントでバインドされている場合ではありません。 「迅速で汚れた」修正は、pageLoadを使用することです。 this forum threadをチェックしてください。
エレメントがajax更新で置き換えられ、ドラッグ操作を行うjqueryイベント・バインディングがエレメント自体にある場合、はい、イベント・バインディングは新しいエレメントには存在しません。
1つの方法は、ajax成功コールバックで、それらのイベントバインディングを作成する初期化メソッドを再実行することです。別のオプションは、jQueryのdelegate()メソッドを使用して、セレクタに一致する任意のコンテナ内の要素(バインディングの設定後に追加されている場合でも)にイベントハンドラをバインドする方法です。
私はあなたの更新パネルが壊れている場合、私はなかれ、arumentsと競合
の多くを$アヤックス迷惑に問題があるu'll
$("body").append("<div style='display:none;'></div>");
$("div:last").load("url.aspx?id=1", function(response, status, xml){ ...do stuff });
を.LOAD使用することがより幸せになると確信しています、あなたはまだjavascript __doPostBack(elmID、args)を使ってポストバックできます。
StreamReader localStreamReader =新しいStreamReader(Server.MapPath( "scripts/PlaylistEditing.js")); string localScript = localStreamReader.ReadToEnd(); ScriptManager.RegisterStartupScript(this、this.GetType()、 "Movement"、localScript、false);これは私がやったことです。 – ChampChris
まだ動作していませんか? – kbvishnu
これは私のために働いた。ありがとうございました – ChampChris