我们有关于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;
}
请告诉我们是否有任何方法可以优化/加快速度。
感谢。
答案 0 :(得分:0)
我检查了附加的代码示例,我认为它是正确的。我的建议是,如果您使用其他存储介质而不是数据库,或者如果页面上存在包含RadDocks的客户端脚本错误,则检查问题是否仍然存在。
由于您的项目设置似乎与My Portal演示中实现的项目相似,我建议您使用代码库文章Saving State of Dynamically Created RadDocks in DataBase using Hidden UpdatePanel中的示例作为参考。