我有一個資源,一個關鍵的將有一個空間,像是否可以在資源密鑰中有空格並在ASPX頁面上使用它?
My key | Some string
在我的aspx頁面我想打電話給
<%$ Resource:Resources, My Key %>
有一些語法,允許我用「我的鑰匙」而不是「MyKey」?
我有一個資源,一個關鍵的將有一個空間,像是否可以在資源密鑰中有空格並在ASPX頁面上使用它?
My key | Some string
在我的aspx頁面我想打電話給
<%$ Resource:Resources, My Key %>
有一些語法,允許我用「我的鑰匙」而不是「MyKey」?
否。資源設置的密鑰不能包含空格。資源文件被編譯,以便密鑰變成變量名稱。這相當於說:
int My int;
這是不允許的。
我收回。應用了一些測試後,這可以完成,基本上如您所描述的那樣。我從頂端看到的一些事情是,在網站中,資源文件不能位於App_GlobalResources
文件夾中,它需要位於App_LocalResources
中。我將我的資源文件命名爲:Default.aspx.resx
。 App_GlobalResources
文件夾中的資源自動設置在內部作用域中。
它裏面我有2個按鍵和2點的值設置:
<asp:HyperLink ID="hlLink" runat="server" Text='<%$ Resources: ThisKey%>'></asp:HyperLink>
其中輸出:
ThisKey | ThisValue
My Key | My Value
要在網頁中我用一個超鏈接控制,以測試它控制訪問它們鏈接文本ThisValue
。還有:
<asp:HyperLink ID="hlLink" runat="server" Text='<%$ Resources: My Key %>'></asp:HyperLink>
其中輸出一個文本'我的價值'的鏈接。我注意到,如果我試圖通過使用Resources: Default.aspx, My Key
來指定「class」參數,它就會被轟炸。僅在使用App_LocalResources
文件夾內的資源並且僅在指定爲該文件名時才成功。
我相信這不是唯一的方法來做到這一點,但這種方法是成功的,在該頁面的關鍵名稱中允許一個空格。
我沒有生成任何代碼。我在resx文件中使用「無代碼生成」。 – BrunoLM 2011-05-26 13:43:59
@BrunoLM:這是無關緊要的。無論您是否實際生成代碼,管理資源文件的規則都是相同的。 – 2011-05-26 13:44:47
規則是*不*相同。當你沒有爲resx文件生成代碼時,你可以使用空格作爲鍵的字符串,並且你可以非常好地使用自定義資源提供程序檢索值。 – BrunoLM 2011-05-26 13:50:55