2013-03-14 33 views
5

Tôi đang cố gắng sử dụng bản địa hóa trong dự án của mình nhưng tôi không thể tìm cách truy cập tệp resx của mình từ javascript. Tôi đã nhìn xung quanh một chút và tôi không nghĩ rằng phương pháp 'gọi AJAX' sẽ là lý tưởng cho dự án của tôi vì tôi có rất nhiều chuỗi cần phải được tìm nạp và nó sẽ chỉ phải gửi thư rác đến máy chủ!Sử dụng các tệp tài nguyên (.resx) trong javascript

nếu tôi chỉ cần đặt nó trong HTML của tôi sau đó nó hoạt động với mã này:

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

Tôi đoán một trong những điều tôi có thể làm là đặt tất cả các chuỗi trong một div ẩn và sau đó nhận được các nội dung từ divs trong javascript của tôi nhưng điều này sẽ không có hiệu quả ..

+0

là mã js của bạn trong file .js bên ngoài? – dakait

+0

Các tệp resx nằm trên máy chủ, JavaScript nằm trên máy khách. Bạn cần phải cung cấp một phương thức giao tiếp, thông báo rằng một lĩnh vực ẩn hoặc ajax là tùy thuộc vào bạn, nhưng javascript không thể đọc các tệp resx. – Liam

+0

@dakait: vâng, điều đó có quan trọng không? nếu có một cách giải quyết đòi hỏi mã của tôi phải ở bên trong thì tôi có thể làm điều đó? liam hmmm okey. Tôi là kinda mới để sử dụng các tập tin tài nguyên vì vậy cảm ơn bạn đã giải thích – Utarehpson

Trả lời

3

Tôi đã có một tình huống tương tự và trong trường hợp của tôi, tôi tạo ra một phần riêng biệt mà chỉ chứa một khối javascript nơi tôi đặt tất cả các chuỗi tài nguyên cần thiết cho sử dụng trong logic phía máy khách. Mỗi chuỗi tài nguyên được định nghĩa là biến javascript. Bạn cũng có thể tạo một mảng kết hợp.

Theo quan điểm của một phần của bạn:

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

cảm ơn! Tôi sẽ cố gắng làm một cái gì đó tương tự! – Utarehpson

+0

Làm việc như một sự quyến rũ! đã tạo một phần xem. và tạo một danh sách như trong ví dụ của bạn. Sau đó, sử dụng các mục mà tôi cần chúng! ước gì tôi có thể tăng gấp đôi số phiếu bầu này! – Utarehpson

+0

Vui vì tôi có thể giúp :) –

3

Bạn cũng có thể thử điều dưới đây trực tiếp

@using Resources 

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

*/ 
</script> 
Các vấn đề liên quan