i made a composite control whish generate image around data (a panel decorate automaticly with image)
but it s realy slow on ie7 when i resize the client or when i have for example an accordion into the panel (its slow when the panel need to resize himselft )
do i made something wrong ?? here is the render code
public class PanelItem : CompositeControl
{ }
public class ExtendablePanel : CompositeControl
{
private ITemplate _itemTemplate;
private ITemplate _headerTemplate;
private ITemplate _footerTemplate;
[TemplateContainer(typeof(PanelItem))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate FooterTemplate
{
get { return _footerTemplate; }
set { _footerTemplate = value; }
}
[TemplateContainer(typeof(PanelItem))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate HeaderTemplate
{
get { return _headerTemplate; }
set { _headerTemplate = value; }
}
[TemplateContainer(typeof(PanelItem))]
[PersistenceMode(PersistenceMode.InnerProperty)]
public ITemplate ItemTemplate
{
get { return _itemTemplate; }
set { _itemTemplate = value; }
}
therealbappy...
0 Points
5 Posts
why my control is so slow on ie7 and normal on firefox ?
Sep 29, 2009 08:57 AM|LINK
Hi,
i made a composite control whish generate image around data (a panel decorate automaticly with image)
but it s realy slow on ie7 when i resize the client or when i have for example an accordion into the panel (its slow when the panel need to resize himselft )
do i made something wrong ?? here is the render code
public class PanelItem : CompositeControl { }public class ExtendablePanel : CompositeControl {private ITemplate _itemTemplate; private ITemplate _headerTemplate; private ITemplate _footerTemplate; [TemplateContainer(typeof(PanelItem))] [PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate FooterTemplate { get { return _footerTemplate; } set { _footerTemplate = value; } } [TemplateContainer(typeof(PanelItem))] [PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate HeaderTemplate { get { return _headerTemplate; } set { _headerTemplate = value; } } [TemplateContainer(typeof(PanelItem))] [PersistenceMode(PersistenceMode.InnerProperty)] public ITemplate ItemTemplate { get { return _itemTemplate; } set { _itemTemplate = value; } }protected override void CreateChildControls() { Controls.Clear(); // -- had header -- StringBuilder start = new StringBuilder("<table cellspacing=\"0\" cellpadding=\"0\" style=\"width:"+Width+"\">"); start.Append("<tr style=\"height:" + CornerHeight + "\"><td align=\"right\" valign=\"top\"style=\"width:" + CornerWidth + ";height:" + CornerHeight + ";background-image:url('" + TopLeftImage + "');background-repeat:no-repeat;\"></td>"); // -- insert left top image -- start.Append("<td style=\"background-image:url('" + TopImage + "');background-repeat:repeat-x;\">"); Controls.Add(new LiteralControl(start.ToString())); if (_headerTemplate != null) { PanelItem p = new PanelItem(); //p.ID="panelitem"; _headerTemplate.InstantiateIn(p); Controls.Add(p); } start = new StringBuilder("</td>"); start.Append("<td align=\"left\" valign=\"top\"style=\"width:" + CornerWidth + ";height:" + CornerHeight + ";background-image:url('" + TopRightImage + "');background-repeat:no-repeat;\"></td></tr>"); // -- had content start.Append("<tr><td align=\"right\" style=\"width:" + CornerWidth + ";background-image:url('" + LeftImage + "');background-repeat:repeat-y;\"></td>"); if (MiddleImage != null) start.Append("<td align=\"left\" valign=\"top\" style=\"background-image:url('" + MiddleImage + "');background-repeat:repeat;\">"); else start.Append("<td align=\"left\" valign=\"top\" style=\"background-color:" + ContentBackColor + "\">"); Controls.Add(new LiteralControl(start.ToString())); if (_itemTemplate != null) { PanelItem p = new PanelItem(); //p.ID="panelitem"; _itemTemplate.InstantiateIn(p); Controls.Add(p); } start = new StringBuilder("</td>"); start.Append("<td align=\"left\" style=\"width:" + CornerWidth + ";background-image:url('" + RightImage + "');background-repeat:repeat-y;\"></td></tr>"); // -- had footer start.Append("<tr style=\"height:" + CornerHeight + "\"><td align=\"right\" valign=\"top\"style=\"width:" + CornerWidth + ";height:" + CornerHeight + ";background-image:url('" + DownLeftImage + "');background-repeat:no-repeat;\">"); // -- insert left down image -- start.Append("</td><td style=\"background-image:url('" + DownImage + "');background-repeat:repeat-x;\">"); Controls.Add(new LiteralControl(start.ToString())); if (_footerTemplate != null) { PanelItem p = new PanelItem(); //p.ID = "panelitem"; _footerTemplate.InstantiateIn(p); Controls.Add(p); } start = new StringBuilder("</td><td align=\"left\" valign=\"top\"style=\"width:" + CornerWidth + ";height:" + CornerHeight + ";background-image:url('" + DownRightImage + "');background-repeat:no-repeat;\"></td></tr></table>"); Controls.Add(new LiteralControl(start.ToString())); }thx