2017-05-23 4 views
0

Hy, J'ai le problème que je suis la programmation d'un site pour les entreprises multi. J'utilise DisplayName et LabelFor. Le site est similaire pour chaque entreprise, seul le nom LabelFor change. J'ai trouvé beaucoup de possibilités multi-langues en utilisant des fichiers de ressources (resx) et de la culture. Mais je ne veux pas utiliser cela parce que ce n'est pas un «problème» de culture. Donc la question est ...MVC 4 - multi DisplayName dans le modèle

  1. Puis-je utiliser des fichiers resx sans utiliser la culture? Peut-être contrôler avec un autre paramètre global
  2. Puis-je obtenir la chaîne de base de données en utilisant « Stringkey » et d'affaires « id » (par exemple: Search.Label.Firstname,
  3. est-il une autre possibilité/idée de le faire
  4. ?

Thx beaucoup Chris

Répondre

1

Voici quelques options:

  1. Créer une custom HTML helper (peut-être juste une surcharge de LabelFor) pour extraire votre étiquette des fichiers de ressources client. Nommez chaque fichier de ressources après l'entreprise qu'il applique. Vous pouvez facilement lire un état global à partir d'un assistant HTML. Vous avez également la possibilité de localiser les étiquettes pour chaque entreprise.
  2. Plutôt que d'utiliser LabelFor, intégrez le texte de l'étiquette à votre modèle de vue. Vous auriez alors beaucoup d'options où le récupérer.

public class MyModel 
{ 
    public string NameLabel { get; set; } 
    public string Name { get; set; } 
}