EDIT
xem xét bằng văn bản cho các nguồn lực địa phương cần thiết để một đối tượng JavaScript (băm) và sau đó sử dụng nó cho tra cứu cho các đối tượng tự động tạo ra của bạn. Tôi nghĩ điều này tốt hơn là quay lại máy chủ để dịch. Điều này tương tự như thêm nó thông qua chế độ xem, nhưng có thể linh hoạt hơn một chút. FWIW, tôi có thể xem xét các tài nguyên bản địa hóa là một phần của View, không phải là một phần của bộ điều khiển.
Trong Xem:
<script type="text/javascript"
src='<%= Url.Content("~/Resources/Load?translate=Close,Open" %>'></script>
đó sẽ ra cái gì đó như:
var local = {};
local.Close = "Close";
local.Open = "Open";
Nếu không có tham số của nó sẽ ra toàn bộ băm dịch. Sử dụng đối số cho bạn khả năng tùy chỉnh nó cho mỗi lượt xem.
Sau đó, bạn sẽ sử dụng nó trong các tập tin JavaScript của bạn như:
$(function(){
$('#button').click(function() {
$("<img src=... title='" + local.Close + "' />")
.appendTo("#someDiv")
.click(function() { ... });
});
});
Trên thực tế, tôi không quá kiểu cách về việc giữ gìn mã JavaScript của tôi ra khỏi quan điểm của tôi miễn là mã JavaScript được khu trú trong một container . Thông thường tôi sẽ thiết lập trang chính của mình với 4 khu vực nội dung: tiêu đề, tiêu đề, chính và tập lệnh. Tiêu đề, tiêu đề và đi chính nơi bạn mong đợi và khu vực tập lệnh nằm ở cuối phần thân.
Tôi đặt tất cả JavaScript của mình, bao gồm bất kỳ nội dung nào cho viewusercontrols, vào vùng chứa tập lệnh. Mã JavaScript dành riêng cho xem sẽ xuất hiện sau khi bao gồm. Tôi refactor chia sẻ mã trở lại kịch bản khi cần thiết. Tôi đã nghĩ về cách sử dụng một phương pháp điều khiển để đối chiếu kịch bản bao gồm, có nghĩa là, bao gồm nhiều kịch bản bằng cách sử dụng một yêu cầu duy nhất, nhưng đã không nhận được xung quanh đó, được nêu ra.
Điều này có lợi thế là giữ mã JavaScript riêng biệt để dễ đọc, nhưng cũng cho phép tôi dễ dàng chèn mô hình hoặc xem dữ liệu vào mã JavaScript khi cần.
"Tôi muốn javascript để được tách ra khỏi những quan điểm." == "Cũng là một thực hành tốt để giữ javascript của bạn riêng biệt từ đánh dấu của bạn lên." <= và đó là vấn đề tại sao <%= foo %> sẽ không hoạt động. –
Btw, tại sao gắn trình xử lý onclick trên JS onload là thích hợp hơn? –
Tôi đã bỏ lỡ phần "do JS tạo" trong câu hỏi của bạn - chỉ cần quét ngay trên đó. Trong trường hợp này, tôi sẽ xem xét việc ghi dữ liệu đã bản địa hóa vào khung nhìn và tải javascript nó từ một đối tượng cục bộ. Sẽ viết lại. – tvanfosson