J'ai un objet: Voiture avec plusieurs propriétés (Marque, Modèle et Couleur). Chaque propriété a un attribut assigné (BilingualLabel).MVC 5 en utilisant Attributs sur l'objet à conduire HtmlHelper incapable de lire
J'essaye d'écrire un htmlhelper de type fort pour n'importe quel type auquel un attribut BilingualLabel est assigné. C'est à dire. Je veux me procurer le texte "MakeFR" que j'ai attribué à la propriété dans la classe Car.
E.g.
[System.AttributeUsage(AttributeTargets.Property)]
public class BilingualLabel : System.Attribute
{
private string _resourceCode = "";
public BilingualLabel(string ResourceCode)
{
_resourceCode = ResourceCode;
}
}
Puis la classe de voiture:
public class Car
{
[BilingualLabel("MakeFR")]
public string Make { get; set; }
[BilingualLabel("ModelFR")]
public string Model { get; set; }
[BilingualLabel("ColorFR")]
public string Color { get; set; }
}
semblent maintenant je viens à la classe d'aide et je ne peux pas arriver à la valeur d'attribut que je me suis fixé. J'ai montré deux des tentatives que j'ai essayées. Ils reviennent tous les deux comme des attributs vides.
public static MvcHtmlString BilingualLabelFor<T,E>(this HtmlHelper<T> htmlHelper, Expression<Func<T,E>> expression)
{
//get the Bilingual Label resource code
//BilingualLabel attr =
// (BilingualLabel)Attribute.GetCustomAttribute(typeof(E), typeof(BilingualLabel));
MemberExpression member = expression.Body as MemberExpression;
PropertyInfo propInfo = member.Member as PropertyInfo;
MvcHtmlString html = default(MvcHtmlString);
return html;
}
Vos ressources statiques? Pourriez-vous utiliser les fonctionnalités intégrées pour [localisation] (http://www.codeproject.com/Articles/778040/Beginners-Tutorial-on-Globalization-and-Localizati)? – Kevin