2012-03-05 29 views
6

Korzystam z globalnego zasobu asp.net, aby wypróbować i wdrożyć witrynę w dwóch językach, dodałem prosty zasób do pliku zasobów globalnych o nazwie en-Us.resx, który zawiera:Błąd zasobów globalnych asp.net "Obiekt zasobów z kluczem" nie został znaleziony "

Password | Text 
Email | Text 

następnie wdrożone go do pola tekstowego w domyślnej strony:

<asp:TextBox runat="server" ID="loginEmail" Text="<%$ Resources:en-US, Email %>" 
          ></asp:TextBox> 

ale gdy kiedykolwiek uruchomić stronę na localhost otrzymuję ten błąd :

The resource object with key '' was not found

Używam asp.net 4.0, jaki jest problem?

Odpowiedz

13

Format plików zasobów są ResourceName.culture.resx

Utwórz plik zasobów w folderze App_GlobalResources zwanego Main.resx. To jest dla domyślnego kultury (czyli niezmienną)

następnie utworzyć plik zasobów Main.en-US.resx

to jest, gdy wszystkie zasoby dla kultury en-US będzie żyć, i tak dalej.

Main.resx 
Main.en.resx 
Main.en-US-resx 
Main.en-AU.resx 
Main.fr.resx 
Main.fr-FR.resx 

itp

Aby to uzyskać dostęp od strony użyć składni

<%$ Resources:Main, Email %> 

nie martw się wokół kultury, system będzie działać to. Najpierw zostanie dopasowany (en-US), a następnie nadrzędny dla rodzica kultury (en), rodzica (Invariant).

Zmień nazwę „main” do własnych potrzeb

+0

działa idealnie, dziękuję – Wahtever

+0

Jeśli mieć dwa różne klucze tj. e-mail i wiadomość, ale na końcu strony muszę pokazać wiadomość e-mail mogę scalić dwa istniejące klucze lub muszę utworzyć nowy klucz jako wiadomość e-mail –

+0

Jeśli musisz pokazać oba, wystarczy użyć 2 <%$ %>, po jednym dla każdego klucza –

-1
  1. Zmień nazwę pliku na en-US.aspx.resx i spróbuj ponownie. Zobacz pomoc this.
  2. Spróbuj zmienić akcje kompilacji i zobacz, co się stanie. Zobacz here
+0

próbowali zmiany nazwy, wciąż rzuca ten sam błąd. Myślę, że to tylko dla lokalnych zasobów. – Wahtever

+0

Sprawdź to. http://stackoverflow.com/questions/5744695/the-resource-object-with-key-key-was-not-found-auto-deployed-asp-net-mvc3-a – Mitul