2013-03-14 8 views
5

Próbuję użyć lokalizacji w moim projekcie, ale nie mogę znaleźć sposobu na dostęp do plików resx z javascript. Rozglądałem się trochę i nie wydaje mi się, żeby metoda "połączenia AJAX" była idealna dla mojego projektu, ponieważ mam cichy ciąg sznurków, które trzeba pobrać, a to musiałoby mocno spamować serwer!Używanie plików zasobów (.resx) w javascript

jeśli po prostu umieścić go w moim HTML to działa z tym kodem:

@using Resources 
<p>@Html.Raw(ISt_Localization.January)</p> 

Chyba jedna z rzeczy mogłem zrobić, to umieścić wszystkie sznurki w ukrytym div, a następnie uzyskać zawartość z divy w moim javascript, ale to nie byłoby zbyt skuteczne.

+0

jest Twój kod JS w zewnętrznych plikach .js? – dakait

+0

Pliki resx znajdują się na serwerze, JavaScript znajduje się na kliencie. Musisz podać metodę komunikacji, żeby to było ukryte pole lub ajax, ale javascript nie może odczytać plików resx. – Liam

+0

@dakait: tak, czy to ma znaczenie? jeśli istnieje obejście, które wymaga, aby mój kod był wewnętrzny, mógłbym to zrobić? liam hmmm okey. Jestem trochę nowy w używaniu plików zasobów, więc dziękuję za wyjaśnienie – Utarehpson

Odpowiedz

3

Miałem podobną sytuację iw moim przypadku utworzyłem osobny widok częściowy, który zawierał tylko blok javascript, w którym umieściłem wszystkie ciągi zasobów wymagane dla używać w logice po stronie klienta. Każdy ciąg zasobów został zdefiniowany jako zmienna javascript. Można również utworzyć tablicę asocjacyjną.

W swojej częściowym widokiem:

var Resources = { 
     January : "@Html.Raw(ISt_Localization.January)", 
     February : "@Html.Raw(ISt_Localization.February)", 
     ... 
}; 
+0

dzięki! Spróbuję zrobić coś podobnego! – Utarehpson

+0

Działa jak urok! utworzyłem widok częściowy. i zrób listę jak w twoim przykładzie. Następnie użyłem przedmiotów, w których ich potrzebowałem! Chciałbym podwoić głosowanie! – Utarehpson

+0

Cieszę się, że mogłem pomóc :) –

3

Możesz także spróbować poniższego rzeczy bezpośrednio

@using Resources 

<script> 
var value = '@Resource.January'; 
/* work with value 
....... 
..... 

*/ 
</script> 
Powiązane problemy