2009-07-10 16 views

Trả lời

20

Trả lời: Vâng, như giả sau đây:

Resources.<The name of the resources file name>.<your resource key>; 

Ví dụ:

lblTitle.Text = Resources.MySettings.WebsiteTitle; 

Resources là an-Visual Studio tự động tạo không gian tên đó cho thấy nhiều tất cả các lớp tài nguyên toàn cầu và đạo cụ trong dự án .

+0

Hi, Tôi có thể sử dụng (string) this.GetGlobalResourceObject ("Tài", "COL_Description") như như dưới đây trong nhãn hoặc nút văn bản Singh

1

Nếu bạn đang ở trong trang web, bạn có thể truy cập HttpContext và có thể sử dụng:

HttpContext.GetGlobalResourceObject("myResourceKey") 
+0

Tôi nghĩ rằng Tài nguyên là tốt hơn vì nó được gõ mạnh mẽ, chứ không phải là đối tượng finction. thanks anyway – Shimmy

+0

Cũng không cần phải sử dụng các chuỗi được mã hóa cứng. – Shimmy

+0

Làm cách nào để tránh các chuỗi được mã hóa cứng? – MrFox

14

Bạn nên sử dụng

HttpContext.GetGlobalResourceObject("myResourceKey") 

... vì cách mà nó sẽ vẫn làm việc khi sử dụng một tùy chỉnh ResourceProvider. Trình tạo kiểu mặc định cho các tệp tài nguyên sử dụng một cách rõ ràng nhà cung cấp Resx và sẽ không hoạt động nếu bạn thực hiện một cái gì đó giống như một database provider.

+0

Tôi nghĩ rằng HttpContext.Current sẽ làm việc, nhưng không có –

+0

Tôi thích "httpcontext" thay vì phòng thu được tạo ra không gian tên, bởi vì tôi có thể vượt qua một tham số văn hóa và chọn ngôn ngữ để trở về. Sử dụng chức năng không gian tên "trực tiếp", tôi luôn luôn có được tiếng Anh, tôi cần phải thay đổi văn hóa chủ đề hiện tại trước khi gọi nó nếu tôi muốn văn hóa tốt. – foxontherock

+0

Xin chào, Tôi có thể sử dụng (chuỗi) this.GetGlobalResourceObject ("Tài nguyên", "COL_Description") như dưới đây trong nhãn hoặc văn bản nút Singh

-3

tôi kinda mất này từ các nhà thiết kế tài nguyên,

ResourceManager temp = 
    new ResourceManager("Resources.<<resource name>>", 
    System.Reflection.Assembly.Load("App_GlobalResources")); 
+2

Mã trong trình thiết kế được sử dụng để khởi tạo thành viên tĩnh, do đó, lắp ráp tài nguyên được nạp một lần cho mỗi cá thể, sau đó người dùng truy cập các công cụ được MSFT cung cấp để truy cập thành viên khởi xướng. Sử dụng đường dây của bạn sẽ lấy ra nhiều tài nguyên từ assembly, mà nên tránh. Nhưng dù sao, dòng bạn đăng tải sẽ tải ResourceManager và không nhận được thuộc tính mong muốn, đó là những gì OP muốn. – Shimmy

1

Trên một số trang trại bạn sẽ cần phải quấn cuộc gọi đến

HttpContext.GetGlobalResourceObject("myResourceKey") 

bên trong một khối try/catch để có được nó trên "Không thể tìm thấy bất kỳ tài nguyên nào phù hợp với văn hóa được chỉ định hoặc văn hóa trung tính".

+0

Hey, điều này làm việc alright, tôi sử dụng mã sau đây: 'var resource = HttpContext.GetGlobalResourceObject (" ResourceBaseName "," ResourceKey "); thông báo chuỗi = tài nguyên! = Null? resource.ToString(): string.Empty; ' – DanielV

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