Если вы решили не использовать базу данных, имейте в виду, что если ваше приложение масштабируется до нескольких серверов, вам может потребоваться пересмотреть свою архитектуру в этот момент, иначе ваш элемент управления может в конечном итоге отображать различную информацию на разных серверах для тот же идентификатор.
Если вас это устраивает, вы можете подумать о хранении вашей информации в кэше ASP.NET, например,
System.Web.Caching.Cache cache = Page.Cache;
List<KeyValuePair<string, object>> controlSetup;
controlSetup = cache.Get("ControlSetup" + this.Id.ToString());
if (controlSetup == null)
{
// Create the control setup from scratch
// Put the created control setup into the cache
cache.Put("ControlSetup" + this.Id.ToString(), controlSetup);
}
foreach (KeyValuePair(string, object) item In controlSetup
{
// Set the control values
}