2011-01-20 3 views
3

こんにちは なぜ私はRegisterClientScriptBlock()を提案する人がいるのに対し、RegisterStartupScript()がクライアント側のjを呼び出すように勧めているのだろうと思っています。ScriptManager.RegisterStartupScript()とScriptManager.RegisterClientScriptBlock()の違いは同じですか?

js文の呼び出しを使用する場合、同じ操作を行う2人の違いを明確にしてください。また、警告のようなjs文だけを使用する場合はどちらの方が望ましいですか?コードビハインドからの確認を返します。

答えて

15

メソッドは、Pageオブジェクトの<form runat="server">要素の開始タグのすぐ下にクライアントサイドスクリプトを挿入します。その時点で要素がまだインスタンス化されていないため、コードはフォームの要素にアクセスできません。

RegisterStartupScriptメソッドは、Pageオブジェクトの<form runat="server">要素の終了タグの直前に、指定されたクライアント側スクリプトを挿入します。このコードは、その時点で要素がインスタンス化されているため、フォームの要素のいずれかにアクセスできます。使用する方法の選択は、ページをレンダリングするときにブラウザがスクリプトを実行させる「順序」に依存します。

通常、js-functionsを登録する場合はを使用し、これらの関数を呼び出す場合やページのコントロールにアクセスする場合はRegisterStartupScriptを使用します。

さらに詳しい情報はMSDNをご覧ください。

+0

Pageオブジェクトの要素の開始タグ=

タグ。 –

+0

@私に聞いてください:はい、その '< > 'のためにstackoverflowによって除外されました。今編集... –

関連する問題