2009-06-10 168 views
2

我正在使用CMS工具生成.resx資源文件。ASP.NET .resx資源文件中的有效資源密鑰

使用空格或標點符號創建資源名稱會有什麼危險嗎?

如果我用這個語法來獲得資源,它工作正常:

GetGlobalResourceObject("myresources", "audio,visual"); 

然而,這會導致與聲明資源的語法錯誤,如:

<asp:Literal ID="litLastName" runat="server" Text="<%$ Resources: GlobalResources,audio,visual %>"></asp:Literal> 

此外,當我修改。 resx文件在Visual Studio中,它給了我警告,如果我的資源鍵包含除字母數字和下劃線以外的任何字符。它說:「資源名稱」不是一個有效的標識符」。

我在這裏打破了.NET規則?

回答

5

資源鍵的一般原則是一樣的,你定義一個變量的規則。

這是在asp.net論壇上指出,使用期限是不允許的評論:

http://forums.asp.net/t/967741.aspx

以下是有關命名的resx文件密鑰命名約定約定在SO一個問題:

Resource (.resx) file Key naming conventions?

另外,如果你想想他們是如何在具有一個空間或一些奇怪的關鍵應用程序使用的是要真正軟管代碼。這是在使用資源文件進行類似的看到在這個快速教程一個控制Telerik的控制的情況尤其糟糕:

http://www.telerik.com/help/aspnet-ajax/advancedmultilanguagelocal.html

現在,如果你喜歡

I like to put spaces in resource keys.ChartTitle.TextBlock.Text 
有添加名稱

那麼,所有的東西都會在這個地方散落,因爲空間意味着什麼。

(這也是在上面的鏈接顯而易見的,爲什麼期內不再有效)

我想我還可以踢,說,好像是有人在微軟當然認爲這是一個錯誤,這就是爲什麼視覺工作室正在給你那個錯誤。雖然,質疑權威和這個人對我們的力量當然是好事。

從長遠來看,你可能不需要做一些非常規的事情。

+0

你有參考支持嗎? – frankadelic 2009-06-11 00:19:38