ASP.NET MVC4: Un attribut argument doit être une expression constante , typeof de l'expression ou de la création de la matrice de l'expression d'un attribut de type de paramètre
J'ai eu le code suivant:
[Required(ErrorMessage = MessageModel.translateMessage("required")))]
[Display(Name= MessageModel.translateMessage("id"))]
public string user_id { get; set; }
Je suis en train de faire le message d'erreur dynamique mais j'obtiens l'erreur lors de la compilation.:
"An attribute argument must be a constant expression , typeof expression or array creation expression of an attribute parameter type."
Aucune solution pour ce problème?
Découvrez cette question: stackoverflow.com/questions/3814866/...
Ce qui conduit à la poste par Eric Lippert: blogs.msdn.com/b/ericlippert/archive/2009/02/02/...
double possible de C# Attribut Dynamique Arguments
Ce qui conduit à la poste par Eric Lippert: blogs.msdn.com/b/ericlippert/archive/2009/02/02/...
double possible de C# Attribut Dynamique Arguments
OriginalL'auteur MiaoWin | 2013-02-21
Vous devez vous connecter pour publier un commentaire.
D'abord, vous créez une Ressource .fichier resx cela va contenir votre localisée chaînes.
Lorsque vous déclarer l'attribut que vous définissez la ResourceType argument. Cela provoque le Nom, le nom court et Descriptif des arguments pour être utilisé comme une ressource clé au lieu d'une valeur.
OriginalL'auteur ywm
Le message d'erreur indique un attribut argument doit être une expression constante...".
Cela signifie que l'argument de la
DisplayName
attribut doit être une expression constante (comme une chaîne de caractères, entier, etc.), ou l'un des autres types d'expressions figurant dans le message d'erreur.Si vous voulez localiser une propriété, alors vous avez besoin d'un attribut qui la prend en charge.Si vous utilisez ASP.Net 4 puis DisplayAttribute devrait ressembler à ceci:
Aussi s'il vous plaît vérifier cette réponse de Darin
OriginalL'auteur Karthik Chintala
Réponse très tardive.
DataAnnotations param valeurs nécessitent de constantes réelles des chaînes de caractères.
Donc, vous cann pas écrire une méthode ici. Est vous avez besoin de n'importe quel type de localisation, puis créer le fichier ressource. Ensuite écrire le code à quelque chose comme ça. Ici "RequiredField" et "e-Mail" sont la clé créée dans le fichier de ressources et "ViewModelResource" est un nom de fichier de ressources.
Si vous voulez message personnalisé sur les conditions de puis de créer votre propre Personnalisé "DataAnnotations" dépend des conditions.
OriginalL'auteur Kishan Choudhary