2009-06-15 1 views
3

私はRegisterClientScriptBlock & RegisterStartupScript & responce.write("script");差分あるRegisterClientScriptBlock&RegisterStartupScript&responce.write( "スクリプト")

に関する個別の説明と、個々の利点を必要としますフォームの開いたタグではなくページコントロールの前に

RegisterStartupScript()メソッドは、ページコントロールの後でフォーム終了タグの前にスクリプトを挿入します。

我々はまた、簡単にwrie responce.write("script")もスクリプトを含むことができます。

が、どのリンクも、この話題に関して利用可能である場合、私は、plsは私を返信個々の説明

を必要としています。

答えて

3

RegisterClientScriptBlock()を使用し、注入される可能性のある他のjavascriptメソッドまたはhtmlオブジェクトを参照する必要がある場合、スクリプト実行時に作成されないリスクがあります。あなたが言ったように、RegisterStartupScript()を使用すると、スクリプトはページの最後に置かれ、スクリプトが実行される前にすべてのオブジェクトがレンダリングされ、作成されます。

あなたのような機能であるスクリプトを追加するのいずれかを使用している場合:

<script type="text/javascript> 
    function myFunc(){ 
    ... 
} 
</script> 

その機能は何か他のもので、明示的にコールする必要があるためその後で、重要ではありません。

しかし、あなたのような文書のロード後に実行するスクリプト持つようにしようとしている場合:次に、あなたがRegisterStartupScriptを(使用する必要があります

<script type="text/javascript> 
    doStuff(); 
</script> 

を)ので、あなたがあなたによって呼び出される任意のオブジェクトまたはあなたが呼び出す関数が存在することをgaranteedされています。

+0

yaビルド関数はRegisterClientScriptBlock()を使用して注入できますが、同じことはresponsece.write()で行うことができます。また知っている???? のように応答します(); RegisterClientScriptBlock()を使用して同じパスワードを入力することはできません。次に、RegisterClientScriptBlock()を使用するにはdiffernceですか? – vineth