asp.net MVC динамическая конфигурация / пользовательский интерфейс - PullRequest
0 голосов
/ 27 мая 2011

У меня есть плагины, которые реализуют IPlugin (IMenuPlugin, IThemePlugin и т. Д.). Я хочу, чтобы каждый плагин предоставлял моему приложению настраиваемые свойства, которые будет использовать мое приложение, и предоставлял пользовательский интерфейс редактирования / обновления.

Я думаю, что каждая реализация должна предоставить список IEditables (определяется интерфейсом). Каждое редактируемое имя будет содержать имя шаблона (EditorFor () и т. Д.). Затем я хочу перечислить все из них, отобразить шаблоны, а затем отправить значения обратно в контроллер, чтобы сохранить значения для плагина.

Ваши мысли? Есть ли сейчас что-то похожее?

1 Ответ

0 голосов
/ 27 мая 2011

Полагаю, это похоже на то, что вы предлагаете, но меня смущает формулировка.

Я бы сказал, что вы должны просто создать другой интерфейс для IPluginProperty, а затем добавить коллекцию только для чтения IPluginProperty s в IPlugin. Интерфейс IPluginProperty может иметь свойство для предоставления IPropertyEditor для свойства:

public interface IPluginEditor
{
    // interface members
}

public interface IPluginProperty
{
    IPluginEditor Editor { get; }

    // Rest of interface members
}

public interface IPlugin
{
    IEnumerable<IPluginProperty> Properties { get; }

    // Rest of interface members
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...