2009-05-20 35 views
5

Tôi muốn phổ biến danh sách thả xuống với các giá trị được lưu trữ trong tệp tài nguyên. Cách tiếp cận tốt nhất cho việc này là gì?Tôi có thể truy cập tệp Tài nguyên từ Chế độ xem trong MVC không?

Tôi có thể tạo một danh sách lựa chọn và đẩy nó vào mô hình trong đó trường hợp thả xuống sẽ được điền tự động. Nhưng tôi có thể truy cập tệp tài nguyên từ Chế độ xem không? Nếu có, phải không?

Trả lời

8

Tất cả chuỗi tài nguyên được biên dịch thành lớp mà bạn có thể tham chiếu trong chế độ xem của mình. Ví dụ:

<%= Resources.Strings.MyCustomString %> 

Tôi tin rằng sau được tự động thêm vào web.config của bạn để bạn có thể thả các tài nguyên ..

<namespaces> 
    <add namespace="Resources"> 
</namespaces> 

Tuy nhiên, điều này sẽ không hỗ trợ nội địa hóa. Cho rằng bạn sẽ muốn sử dụng một helper method.

Nếu bạn đang cố gắng tạo danh sách, bạn cần tạo lớp trợ giúp có thể lặp qua lớp Strings và trích xuất các giá trị thích hợp hoặc mã hóa các lựa chọn của bạn trong danh sách phân cách bằng dấu phẩy và phân tách/phân tách trước khi cho ăn nó vào danh sách lựa chọn danh sách thả xuống của bạn.

+1

Sử dụng dự án VS2012 và MVC 4, tôi phải thêm thủ công không gian tên đó vào tệp Web.config của mình; sau đó, và đảm bảo tập tin tài nguyên của tôi Access Modifier đã được đặt thành công khai, nó hoạt động tốt. – statikuz

2

Tôi chưa thử điều này, nhưng đọc ở đâu đó rằng tài nguyên hoạt động giống như cách họ làm việc trong biểu mẫu web.

+0

Tôi đã thử bao gồm không gian tên trong dạng xem và sau đó truy cập nó bằng tài nguyên nhưng không hoạt động .. – buntykawale

2

Sử dụng như sau:

<%= Resources.Strings.MyCustomString %> 

Tôi không hiểu những gì Todd ý nghĩa bởi "nó không hỗ trợ nội địa hóa", đó là chính xác những gì nó làm.

Các vấn đề liên quan