2010-11-17 4 views
1

У меня есть пользовательский элемент управления в asp.net, который мне нужно для динамического задания свойств. Значения propety и собственности в словаре, например:динамически настраиваемое свойство usercontrol

Dictionary<string, string> propertyValues; 
Control c = Page.LoadControl("~/Control.ascx") 

Я в настоящее время определить свойство элемента управления с помощью отражения, однако, с .net 4 и новым динамическим ключевым словом, есть более простой способ сделать это, например, что-то вроде этого:

dynamic c = Page.LoadControl("~/control.ascx"); 
foreach(var itemin propertyValues) 
{ 
    c.item.key = item.value; 
} 

это, очевидно, не работает, потому что item.key является строкой, а не собственность.

спасибо Raj.

+0

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

ответ

0

Вы пробовали c[item.key] ??? или, может быть, c.Properties[item.Key] ???

+0

Это не сработает. – SLaks

Смежные вопросы