Тема 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));
    
Другие вопросы по тегам