2

気づかなかったので自分を蹴るという簡単な答えを認めてほしいという小さな質問です。

したがって、RegisterStartupScriptの次のオーバーロードがある場合

public static void RegisterStartupScript(
    Control control,
    Type type,
    string key,
    string script,
    bool addScriptTags
)

タイプとコントロールを提供する必要があります。これで、コントロールを指定するポイントがわかります。コントロールが部分的なページレンダリングの一部である場合に備えて、スクリプトがプッシュされます。しかし、Typeパラメーターのポイントは何ですか?通常は、コントロールのタイプに設定するだけです。そしてこれは実際にMSDNによってなされた提案です:

control
    Type: System.Web.UI..::.Control
    The control that is registering the client script block.

type
    Type: System..::.Type
    The type of the client script block. This parameter is usually specified by using the typeof operator (C#) or the GetType operator (Visual Basic) to retrieve the type of the control that is registering the script.

では、なぜそれを指定する必要があるのでしょうか。おそらく、.Net Frameworkを節約するだけでなく、ランタイムタイプ自体を取得する手間を省くことができます。

4

1 に答える 1

3

通常、typeは、スクリプトを登録するページまたはコントロールのタイプです。これは、2つの異なるコントロールが同じキーを使用して異なるスクリプトを登録するのを防ぐための方法にすぎません。

MSDNからの抜粋:

クライアントスクリプトは、そのキーとタイプによって一意に識別されます。同じキーとタイプのスクリプトは重複と見なされます。このページに登録できるのは、特定のタイプとキーのペアを持つ1つのスクリプトのみです。すでに登録されているスクリプトを登録しようとしても、スクリプトの複製は作成されません。

于 2010-07-21T15:46:20.967 に答える