0

FindControl()速く動作しますか?

同じコントロールを何度も検索して使用する場合、このようなプロパティを使用して結果をキャッシュする必要がありますか?

private MyUserControl c;
private MyUserControl MyC
{
    get
    {
        if(c == null)
            c = (MyUserControl)FindControl("c");
        return c;
    }
}
4

2 に答える 2

3

リクエスト間で話している場合は、そうしないでください。実際にはできません。コントロールの参照は、ページがレンダリングされている間だけ一時的に存在します セッションまたはその他の永続的なキャッシュにそれらを配置すると、それらが永続化され、ガベージ コレクターが台無しになります

于 2009-11-17T11:12:16.030 に答える
2

「それは速いですか」というすべての質問に答える必要があります。試してみてください。

FindControl(私は思う)はすべてのコントロールをループするため、速度はコントロールの量に依存します。心配しなくていいと思います。

于 2009-11-17T10:20:34.840 に答える