MVC 4 - несколько DisplayName в модели

Hy, у меня проблема в том, что я программирую сайт для нескольких предприятий. Я использую DisplayName и LabelFor. Сайт одинаков для каждого бизнеса, меняется только название LabelFor. Я нашел много многоязычных возможностей, используя файлы ресурсов (resx) и культуру. Но я не хочу использовать это, потому что это не культурная «проблема». Итак, вопрос…

  1. Могу ли я использовать файлы resx без использования культуры? Возможно управление каким-то другим глобальным параметром
  2. Могу ли я получить строку из базы данных, используя «Stringkey» и «идентификатор» компании (например, Search.Label.Firstname,
  3. Есть ли другая возможность/идея сделать это?

Большое спасибо, Крис


person Chris    schedule 23.05.2017    source источник


Ответы (1)


Вот несколько вариантов:

  1. Создайте специальный помощник HTML (возможно, просто перегруженный вариант LabelFor) для извлечения вашей метки из клиентских файлов ресурсов. Назовите каждый файл ресурсов в честь бизнеса, к которому он относится. Вы можете легко прочитать некоторое глобальное состояние из помощника HTML. У вас также по-прежнему есть возможность локализовать ярлыки для каждого бизнеса.
  2. Вместо использования LabelFor сделайте текст метки частью вашей модели представления. Тогда у вас будет много вариантов, откуда его получить.

public class MyModel
{
    public string NameLabel { get; set; }
    public string Name { get; set; }
}
person NightOwl888    schedule 23.05.2017