2011-05-26 30 views

回答

0

否。資源設置的密鑰不能包含空格。資源文件被編譯,以便密鑰變成變量名稱。這相當於說:

int My int; 

這是不允許的。

我收回。應用了一些測試後,這可以完成,基本上如您所描述的那樣。我從頂端看到的一些事情是,在網站中,資源文件不能位於App_GlobalResources文件夾中,它需要位於App_LocalResources中。我將我的資源文件命名爲:Default.aspx.resxApp_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文件夾內的資源並且僅在指定爲該文件名時才成功。

我相信這不是唯一的方法來做到這一點,但這種方法是成功的,在該頁面的關鍵名稱中允許一個空格。

+0

我沒有生成任何代碼。我在resx文件中使用「無代碼生成」。 – BrunoLM 2011-05-26 13:43:59

+0

@BrunoLM:這是無關緊要的。無論您是否實際生成代碼,管理資源文件的規則都是相同的。 – 2011-05-26 13:44:47

+0

規則是*不*相同。當你沒有爲resx文件生成代碼時,你可以使用空格作爲鍵的字符串,並且你可以非常好地使用自定義資源提供程序檢索值。 – BrunoLM 2011-05-26 13:50:55

相關問題