2010-05-20 9 views
0

J'ai la ligne de code suivante:C# Localisation - un comportement inattendu

<%= Html.Label((string) GetLocalResourceObject("Label_Email")) %> 

Cela génère une étiquette dans une page HTML.

Dans le fichier de ressources locales, j'ai l'entrée suivante:

Nom: Label_Email Valeur: Email

Pour une raison très étrange quand je charge la page dans le navigateur, il génère une étiquette HTML avec une valeur de "Email Address" au lieu de "Email". C'est un problème sérieux pour moi car j'ai besoin de localiser l'application et de ne pas avoir le mot anglais "address". Lorsque je remplace la valeur dans le fichier de ressources local par "Email" (remarquez l'espace supplémentaire), tout fonctionne bien, mais c'est un hack et je dois comprendre pourquoi mon application se comporte de cette façon.

Merci

Répondre

1

Vérifiez d'abord si votre étiquette est vraiment lu à partir de cette ressource. pour le vérifier, changez la valeur (à votre nom ou etc).

Ensuite, assurez-vous que l'étiquette affiche exactement la valeur. si elle n'affiche pas votre valeur du tout, votre implémentation est fausse. mais il montre la valeur des changements. ça devrait bien fonctionner.

Si cela ne fonctionne pas essayer

<asp:label id="Label_Email" runat="server" meta:resourcekey="Label_Email" /> 

et notez que dans votre fichier de ressources youhave pour insérer

Label_Email.Text = "quelque chose"

pas

Label_Email = "faux"

Questions connexes