2011-10-31 114 views
0

我想要做的是在c#codebehind中編寫一個方法來讀取基於密鑰的文本。 現在我whant爲只使用一種語言,這就是爲什麼我不需要使用System.Globalization.CultureInfo讀取資源文件的方法

private ResourceManager rm; 
private ResourceReader rr; 
public string GetCurrentLanguage(string key) 
{ 
    rm = new ResourceManager("~/App_GlobalResources/textFile", System.Reflection.Assembly.GetExecutingAssembly()); 
    string result = rm.GetString(key).ToString(); 
    return result; 
} 

做到這一點,但它不工作:( 時,我喜歡寫東西litWelcome.Text = GetCurrentLanguage("Welcome");它的回報錯誤。

人有知道什麼是我做錯了嗎?

感謝提前:)

編輯

確定我得到它我自己,這是我的問題的解決方案:

public string GetCurrentLanguage(string key) 
{ 

    string result = Resources.textFile.ResourceManager.GetString(key).ToString(); 
    return result; 
} 

感謝所有幫助:)

+2

「它不能正常工作」 是沒有問題的一個很好的說明。發生了什麼? –

+0

你想做什麼?這個文件是用來存儲某種設置的嗎? – neeKo

回答

1

也許你會尋找Using Resources for Localization

我知道這不是您的問題的直接答案,但也許這是您正在尋找的解決方案。此鏈接將爲您提供有關如何在ASP.NET中使用內置支持來本地化您的網站的信息。

+0

我看到之前我寫在這裏。我想這樣做,但在代碼後面用我的方法,這將返回字符串與文本將從.resx文件0123. – harry180

0

此行是否正確?

rm = new ResourceManager("~/App_GlobalResources\textFile" 

您編輯註釋顯示:

文件是在〜\ App_GlobalResources文件\ textFile.resx

你斜線並不一致。這是你的文章中的錯字,還是你的代碼?

+0

我得到這個錯誤: 找不到適合指定的文化或中性文化的任何資源。確保在編譯時「〜/ App_GlobalResources/textFile.resources」已正確嵌入或鏈接到程序集「App_Code.f05e1x5g」中,或者確保所有需要的附屬程序集均可加載且完全簽名。 – harry180

0

嘗試:

GetGlobalResourceObject全球資源。

GetLocalResourceObject本地資源。

EX:

Button1.Text = GetLocalResourceObject("Button1.Text").ToString(); 
Image1.ImageUrl = CType(GetGlobalResourceObject("WebResourcesGlobal","LogoUrl"), String) 

更多信息檢查http://msdn.microsoft.com/en-us/library/ms227982.aspx