Динамически добавленная оптимизация Raddocks? - PullRequest
0 голосов
/ 05 декабря 2011

У нас проблема с оптимизацией в отношении средств управления док-станцией. Требование проекта таково, что мы создаем динамические раддоки на лету и добавляем их в зону раддока, затем сохраняем «тип» раддока и т. Д. В базе данных mssql. У нас также есть окно коллектора / раддокзона, в котором мы создали функциональность, где мы можем перетащить док-станцию ​​и сохранить ее в коллекторе. Как и в случае первой раддокзоны, мы добавляем док в коллектор на лету. Теперь, когда вы добавляете док-станцию ​​или перемещаете ее в другую раддокзону, это занимает некоторое время. Наш клиент сравнивает его с примером демонстрационной ссылки: http://demos.telerik.com/aspnet-ajax/dock/examples/content/defaultcs.aspx

Ниже приведен фрагмент кода для добавления док-станции на лету:

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 голосов
/ 05 декабря 2011

Я проверил прилагаемый пример кода и думаю, что он правильный.Я предлагаю проверить, сохраняется ли проблема, если вы используете другой носитель данных вместо базы данных или если на странице есть ошибки клиентского скрипта, содержащие RadDocks.

Поскольку настройка вашего проекта, кажется,Аналогично тому, что реализовано в демонстрационной версии Мой портал , я бы рекомендовал использовать пример из статьи библиотеки кодов Сохранение состояния динамически создаваемых RadDocks в базе данных, используя Hidden UpdatePanel в качестве ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...