2

所以我们有这个以树格式显示数据的遗留代码。他们使用间隔图像填充树的每个节点(...yup..ugh)

不幸的是,这些图像的使用是由我们被迫使用的内部 UserControl 控制的(不过基本上只是派生自 Web.UI.WebControls.Image)。

好吧,事实证明我们有一个巨大的树,有数千个节点,每个节点都有四级或更多。这意味着我们每次绘制页面时都会创建大约 10,000 个填充图像,这会占用相当多的时间。

我现在的解决方案是静态预分配大量这些图像并使用它们。我希望当多个用户同时访问该页面时不会出现任何麻烦。

但是...有什么方法可以重用 UserControl 以便我们可以只创建 Image 的 SINGLE 实例并以某种方式将其多次添加到 Controls 集合中?我天真地尝试了这个,但没有奏效。图像只被绘制一次,对于第一个控件,它是第一次添加的(可能与 INamingConainer 的东西有关......?)

4

2 回答 2

2

只是一个想法,但您能否不只是用不同的用户控件替换填充图像用户控件,例如:

public DivPadder : HtmlGenericControl
{
    public DivPadder() : base("div")
    {
        this.Style.Add("padding:10px");
    }
}
于 2010-07-22T14:47:40.763 回答
0

您是否考虑过在后台线程中加载树的内容?

于 2010-07-22T14:29:35.743 回答