Какие у меня есть варианты для создания динамического содержимого с сохранением состояния на веб-сайте ASP.Net?
Вот мой сценарий. У меня есть сайт с несколькими вложенными областями контента. Верхний уровень - действия, связанные с функциональной областью Catalog
, Subscriptions
, Settings
.
Когда вы нажимаете на функциональное действие, я хочу динамически добавлять контент, специфичный для этого действия. Например, при щелчке «Каталог» я хочу отобразить дерево с папками и файлами каталога и область справа для подробностей.
Когда пользователь нажимает на дерево, я хочу, чтобы контекстно-зависимые детали загружались в область сведений (например, свойства или параметры для управления файлами).
Я начал с UserControls
. Они работали нормально, пока я загружал все на страницу, и никогда не позволял никому исчезать. Как только один из них исчез, ViewState
для страницы взорвалось, потому что дерево состояний просмотра было недопустимым.
(я не хотел продолжать загружать материалы на мою страницу, потому что не хочу, чтобы ответы были слишком большими)
Итак, мой следующий подход состоял в том, чтобы заменить мои динамические регионы на IFrames
. Тогда вместо создания UserControl
я просто изменил бы источник на моем IFrame
. Поскольку содержимое IFrames
было независимой страницей, у меня не возникло проблем с ViewState
.
Но я обеспокоен тем, что IFrames
может быть плохим выбором дизайна, но не до конца понимаю, почему. Сайт не является общедоступным, поэтому поисковые системы не являются проблемой.
Итак, наконец, на мой вопрос.
Какие у меня варианты для этого сценария? Если я выберу решение Ajax (jQuery), придется ли мне поддерживать свой собственный ViewState? Есть ли другие соображения, которые я должен принять во внимание?