Тема DNN. Как заполнить значения DropDownList из настройки?
Я работал над темой DNN для нескольких клиентов. Тема имеет DropDownList, и ее значения различны для каждого клиента. Я не хочу создавать много тем (по одной на клиента), потому что значения DropDownList являются единственной разницей между ними.
Как я могу заполнить значения DropDownList в зависимости от конфигурации темы?
1 ответ
Решение
Для реализации этой возможности на моей теме я использую класс DotNetNuke.Common.Utilities.Config.
- Сначала я создаю настройку приложения в dnn web.config.
Вы можете сделать это вручную:
<add key="DropDownListValues" value="Value1,Value2,Value3" />
... или вы можете добавить эти значения из кода:
public static void AddAppSetting(string name, string value)
{
var xmlDocument = DotNetNuke.Common.Utilities.Config.AddAppSetting(DotNetNuke.Common.Utilities.Config.Load(), name, value);
DotNetNuke.Common.Utilities.Config.Save(xmlDocument);
}
Имея это свойство, вы всегда можете заполнить свой DropDownList следующим образом:
var stylesCommaSeparated = DotNetNuke.Common.Utilities.Config.GetSetting("DropDownListValues"); stylesCommaSeparated.Split(',').ForEach(setting=>DropDownList1.Items.Add(setting));