Это мой первый пост здесь.Использование LoadControl для отображения кэшированных WebUserControls
Я написал CMS, который позволяет разработчикам создавать свои собственные плагины в форме WebUserControls. Эти плагины могут быть вставлены (через TinyMCE) в контент пользователями. Это делается программно, используя метод LoadControl, добавляя к иерархии элементов управления и устанавливая его свойства. Все хорошо до сих пор.
Я хочу разрешить разработчикам использовать OutputCache в своих WebUserControls, однако эти элементы управления необходимо кэшировать по свойствам WebUserControl. например разработчик написал WebUserControl color.ascx, который имеет свойство Color (Red | Green | Blue), поэтому в зависимости от значения этого свойства кеш может хранить красную, зеленую и голубую версии.
Проблема, что у меня есть то, что на странице может быть более одного, скажем, три элемента управления цветом.ascx (красный, зеленый и синий), динамически загружаемый с помощью LoadControl. После кэширования метод LoadControl корректно возвращает PartialCachingControl, но при обновлении страницы он всегда является последней версией из кеша, то есть на странице отображается 3 Blue вместо красного, зеленого и синего.
Есть ли способ загрузить LoadControl (или каким-либо другим способом) для загрузки правильной версии из кеша, то есть с использованием свойства Color, и как использовать OutputCache для обеспечения его сохранения в кеше на основе WebUserControls свойства?
Благодарим за помощь.
К сожалению, я был далеко в течение нескольких дней. Спасибо за ваш комментарий, но это не имеет для меня никакого смысла. Я не думаю, что вы поняли мой вопрос. У вас есть ссылка, объясняющая, что вы имеете в виду? – KowDot
Я использовал это в своем приложении: [LoadControl] (http://devnet.kentico.com/Blogs/Martin-Hejtmanek/April-2009/How-to-dynamically-load-partially-cached-controls.aspx) –