MVC 4 - multi DisplayName в модели

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

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

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

1 ответ

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

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

public class MyModel
{
    public string NameLabel { get; set; }
    public string Name { get; set; }
}
Другие вопросы по тегам