2011-10-24 8 views
1

更新パネルには更新パネルがありますが、いくつかのパラメータを指定してJavaScriptを出力して表示/非表示にしたいボタンがあります。RegisterStartupScriptがjQueryスクリプトで予期したとおりに動作しない

RegisterStartupScript(Me.Page, Me.GetType(), 
    "deleteHideScript", "$('.deleteButton').hide();", True) 

$('.deleteButton').hide();ビットをコンソールに実行して、目的の効果を得ることができます。私はconsole.log('imHere');と同じ方法でスクリプトを出力することができ、予想される動作を得ることができます。

私には何が欠けていますか?

+0

は更新パネルのボタンですか? –

+0

@RossDarganはい、上記のようにボタンは更新パネル内にあります – Gent

答えて

1

部分レンダリングが問題です。非同期ポストバック後にアラートを表示するための起動スクリプトを登録することはできません。同じ効果を達成する別の方法を見つけるか、アラートを表示する必要があるときに完全なポストバックを実行する必要があります。

あなたはEnablePageHeadUpdate="true"を設定してみてくださいすることができますが、私はそれがどんな効果があります保証することはできません。そのため、部分的なレンダリングの

EDIT

ボタンがレンダリングされる前に、スクリプトがあなたの問題の原因となっている、実行されます。スクリプトを実行する前にボタンをレンダリングする方法が見つかった場合は、すべて設定する必要があります。

+0

私は、同じアプローチを使用してログに書き込むスクリプトを追加できると述べました。だから私はいくつかのケースで登録が動作することを知っています。 – Gent

+0

ログに書き込むことは、ページに警告を表示することと同じではありません。 –

+0

JS noobnessが見せていると思いますが、私は警告を表示していないボタンを隠しています。 – Gent

0

あなたはスクリプトが jQueryのスクリプトタグの前を注入しているかどうかを確認する必要があります。スクリプトを参照するようにScriptManagerを使用している場合、そのような

何かが可能です。

あなたは<head>にjQueryの参照を移動したり、ScriptManager.RegisterStartupScriptメソッドを使用することができます。

+0

私はそれが問題だとは思わない。 –

+0

@djsolidいいえ、jQueryスクリプトはレンダリング時には他のすべてのスクリプトよりも優先されます。試してくれてありがとう。 – Gent

関連する問題