如果我多次使用它,我是否要缓存FindControl()结果?

时间:2009-11-17 10:11:19

标签: c# .net asp.net findcontrol

FindControl()是否可以快速运作?

如果我在一段时间内搜索并使用相同的控件,是否要使用这样的属性来缓存结果?

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

2 个答案:

答案 0 :(得分:3)

如果您正在讨论请求,那么请不要。事实上你不能。控件引用仅在页面呈现时暂时存在将它们置于会话或其他持久缓存中让它们持久存在并搞砸垃圾收集器

答案 1 :(得分:2)

应该回答“快速”的每个问题:尝试一下。

FindControl(我认为)循环通过所有控件,速度取决于控件的数量。我想你不应该担心。

相关问题