动态添加Raddocks优化?

时间:2011-12-05 04:54:48

标签: telerik

我们有关于rad dock控件的优化问题。项目的要求是我们正在动态创建动态raddocks并将其添加到raddockzone,然后我们在mssql db中保存raddock“type”等。我们还有一个收集器窗口/ raddockzone,我们在其中构建了一个功能,我们可以拖动一个扩展坞并将其保存在收集器中。与第一个raddockzone一样,我们在飞行中添加了收集器。现在在添加一个底座或将其移动到另一个raddockzones时需要一段时间。我们的客户将其与演示链接的示例进行比较:http://demos.telerik.com/aspnet-ajax/dock/examples/content/defaultcs.aspx

以下是我们的代码段,可以动态添加Dock:

private RadDockNew CreateRadDock()
{


    //string[] allowedZones = { "RDZCollector", "RadDockZone2" };
    int width = Convert.ToInt32((hdnWidth.Value == "") ? "520" : hdnWidth.Value);
    RadDockNew dock = new RadDockNew();
    dock.DockMode = DockMode.Docked;
    dock.UniqueName = Guid.NewGuid().ToString().Replace("-", "a");
    dock.ID = string.Format("RadDock{0}", dock.UniqueName);
    //dock.Title = dock.UniqueName.Substring(dock.UniqueName.Length - 3);
    dock.Width = Unit.Pixel(width);
    dock.CssClass = "RadDockZoneMain";
    //dock.AllowedZones = allowedZones;
    dock.Style.Add("min-height", "290px");
    dock.OnClientDockPositionChanged = "DropInCollector";
    //dock.EnableViewState = false;
    DockCommand cmd = new DockCommand();
    cmd.Name = "Setting";
    cmd.Text = "Setting";
    cmd.OnClientCommand = "showSettings";
    dock.Commands.Add(cmd);
    DockCommand dc = new DockCommand();
    dc.Text = "Trash";
    dc.Name = "Trash";
    dc.OnClientCommand = "CloseDock";
    dc.CssClass = "rdClose";
    dc.AutoPostBack = true;
    dock.Commands.Add(dc);
    DockToggleCommand cmd2 = new DockToggleCommand();
    cmd2.CssClass = "rdCollapse";
    cmd2.AlternateCssClass = "rdexpand";
    cmd2.OnClientCommand = "ChangeImage";


    //DockCommand collapse = new DockCommand();
    //collapse.Text = "Collapse/Expand";
    //collapse.Name = "Collapse/Expand";
    //collapse.OnClientCommand = "CollapseDock";
    //collapse.CssClass = "rdCollapse";
    dock.Commands.Add(cmd2);
    return dock;
}

请告诉我们是否有任何方法可以优化/加快速度。

感谢。

1 个答案:

答案 0 :(得分:0)

我检查了附加的代码示例,我认为它是正确的。我的建议是,如果您使用其他存储介质而不是数据库,或者如果页面上存在包含RadDocks的客户端脚本错误,则检查问题是否仍然存在。

由于您的项目设置似乎与My Portal演示中实现的项目相似,我建议您使用代码库文章Saving State of Dynamically Created RadDocks in DataBase using Hidden UpdatePanel中的示例作为参考。