2009-04-17 10 views
2

私は最初に1ページに表示されるが、別のページには最初は隠されているコントロールを持っています。最初にASP.NETで非表示になっている可能性があるコントロールにJavaScriptを取得するにはどうすればよいですか?

最初にコントロールを表示するページでは、コントロールのjavascriptは正常に機能しますが、最初はコントロールを隠していたページではJavaScriptが機能しません。

私が使用して背後にあるコードではJavaScriptを登録し終わっている:

this.Page.ClientScript.RegisterClientScriptBlock(...); 

それは正常に動作しますが、それは大きなjavascriptのブロックと醜い取得します。私はそれを変更したいと思うだけでなく、解決策を作り直す必要があります。

ページが読み込まれたときにブラウザに送信されない場合、マークアップを使用してjavascriptを登録する別の方法はありますか?私は、ページが読み込まれたときに私が必要とするものをブラウザに送るだけで、ネットワークトラフィックを細くしています。

おかげで、

マーク

答えて

1

は、私はそのような場合には、それはそれを使用する前にnullの場合、あなたがチェックすることができ、あなたがのdocument.getElementByIdを使ってコントロールを取得していると仮定します。

var ctrl = document.getElementById("someID"); 
if (ctrl) { 
    do something here... 
} 
0

サーバー側のプロパティ 'Visible'をfalseに設定してコントロールを非表示にした場合、ASP.NETはコントロールをレンダリングしないため、ブラウザはjsを何かに添付できません。 CSSプロパティ 'display'を 'none'に設定してみてください。

2

問題は、ボタンを非表示にするのではなく、JavaScriptからクリックでき、ボタンがイベントハンドラと呼ばれる非表示のボタンを持つことです。

例:

<asp:button id="button1" runat="server" style="display:none"> 

は、使用すべきものであるか、ディスプレイにCSSクラスを設定することができます、代わりにその中のどれとは、あなたのコントロールにそれを割り当てません。

関連する問題