2011-08-08 32 views
1

私はそうのような私のUpdatePanelのOnLoadイベントにいくつかのJavaScriptコードを実行しようとしています:ASP.NET:のUpdatePanel&OnLoadのイベント

<asp:UpdatePanel ID="updDropDowns" runat="server" OnLoad="javascript:ResetButtons();"> 

をしかし、私は「『JavaScriptの』を取得しておくには、ASPのメンバーではありません。 reasons_aspx "。

私は

Me.updDropDowns.Attributes.Add("OnLoad", "javascript:ResetButtons();") 

をやってみましたしかし、私はVBのコードビハインドでのUpdatePanelの「属性」プロパティを参照することはできません。

どのようにこれを達成できますか?

おかげで、私の知る限りでは

ジェイソン

+0

'javascript:'を削除するとどうなりますか? – pimvdb

答えて

2

最も簡単な方法は、clientscriptを登録することです。私は間違ったクラスを参照しました

+1

非同期ポストバックでは? @Jasonは代わりに[ScriptManagersのRegisterStartupScriptメソッド](http://msdn.microsoft.com/en-us/library/bb310408.aspx)を使用する必要があります。 –

+0

私は、 'registerstartupscript'があなたのコードをスクリプトタグのペアの中に入れていると確信しています。これは、$(document).ready()jQueryイベントに置くようなことはありません。 – DavidJBerman

0

は、UpdatePanelのためのクライアントのOnLoadイベント(それはdiv要素やスパンとしてレンダリングされます)自分ではありません。それはサーバー側だけです。そして、忘れてはならない、イベントは、パネルが更新されるたびに、それぞれ発動されます。なぜボタンのサーバー側をリセットしないのですか?

ScriptManager.RegisterStartupScript(this.GetType(), "pagestart", "ResetButtons();", true) 

編集:ティムのノートごとに更新

+1

問題は、サーバー側のボタンを無効にすると、後でクライアントで参照するのが難しいことです。私はDavidのアイデアに似た何かをやってしまった。しかし、あなたのポストに感謝! –

関連する問題