Telerik RadDock - ViewStateById - PullRequest
       37

Telerik RadDock - ViewStateById

2 голосов
/ 14 января 2012

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

Я получал много ошибок состояния представления при добавлении / перемещении / удалении (дерево элементов управления изменилось), и, похоже, единственными решениями являются создание классов-оболочек для некоторых из телериков (RadDock, RadDockLayout, RadDockZone и т. Д.) И применение [ViewStateModeById ] атрибут.

[ViewStateModeById]
public class RadDockById : RadDock

Кто-нибудь использовал RadDock вместе с ViewStateModeById? Это может вызвать какие-либо проблемы в будущем?

1 Ответ

2 голосов
/ 16 января 2012

Проблемы, связанные с ViewState, с которыми вы столкнулись, вероятнее всего вызваны следующими двумя причинами:

  1. Динамически созданные RadDock не добавляются в тот же элемент управления.После того, как они добавлены в RadDockZone и другие времена в RadDockLayout.Это приводит к загрузке неправильного ViewState для некоторых доков, вызывающих проблему.
  2. Закрытые доки удаляются и удаляются со страницы.Это снова изменяет дерево элементов управления страницы, которое необходимо при загрузке и сохранении ViewState.

У вас есть следующие варианты решения проблемы на вашей стороне:

  • Отключение ViewState для RadDockLayout или всей страницы.Таким образом, вы можете добавлять или удалять элементы управления, но при динамическом изменении свойств могут возникнуть некоторые проблемы.
  • Создание нового класса, который наследуется от элемента управления RadDock, и пометка его для использования ViewStateModeById, как вы уже догадались.В этой ветке форума вы можете найти больше информации об этом подходе.
  • Всегда создавайте все доки и добавляйте их в RadDockLayout.У закрытых RadDocks всегда должно быть свойство Visible , установленное на false .
...