MVC 4 - multi DisplayName в модели
Hy, у меня проблема в том, что я программирую сайт для нескольких предприятий. Я использую DisplayName и LabelFor. Сайт похож для каждого бизнеса, меняется только название LabelFor. Я нашел много многоязычных возможностей, используя файлы ресурсов (resx) и культуру. Но я не хочу этим пользоваться, потому что это не "проблема" культуры. Итак, вопрос...
- Могу ли я использовать файлы resx без использования культуры? Может быть, контроль с другим глобальным параметром
- Могу ли я получить строку из базы данных, используя "Stringkey" и бизнес-идентификатор (например: Search.Label.Firstname,
- Есть ли другая возможность / идея сделать это?
Большое спасибо, Крис
1 ответ
Вот несколько вариантов:
- Создайте собственный HTML-помощник (возможно, просто перегруженный
LabelFor
) вытащить ярлык из клиентских файлов ресурсов. Назовите каждый файл ресурса после того, как оно применяется. Вы можете легко прочитать глобальное состояние из помощника HTML. У вас также есть возможность локализовать метки для каждого бизнеса. - Вместо того, чтобы использовать
LabelFor
, сделайте текст надписи частью вашей модели представления. Тогда у вас будет много вариантов, откуда его взять.
public class MyModel
{
public string NameLabel { get; set; }
public string Name { get; set; }
}