0
我正在使用我的asp.net應用程序上的資源,並且需要使客戶端上的鍵/值對可用。通過使用HttpHandler,我已經能夠通過特定的資源文件獲得它們,但是標準繼承不能與我正在使用的代碼一起工作。c#資源(resx)繼承
基地PM.resx文件包含以下
key: a value: AAAAAA
key: b value: BBBBBB
key: c value: CCCCCC
PM.pt.resx文件包含以下
key: a value: ptptpt
當我在我的瀏覽器中使用pt
的文化或編碼時,由於pt
文件只有一個條目,並且基本文件包含其餘的鍵/值對,因此我期望返回以下內容。
key: a value: ptptpt
key: b value: BBBBBB
key: c value: CCCCCC
但我只是得到以下。
key: a value: ptptpt
,我使用生成的JavaScript如下:C#代碼。
public void ProcessRequest(HttpContext context)
{
ResourceManager rm = new ResourceManager("Resources.PM", System.Reflection.Assembly.Load("App_GlobalResources"));
Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");//for testing culture change
//ResourceSet resourceSet = rm.GetResourceSet(CultureInfo.CurrentUICulture, true, true);
ResourceSet resourceSet = rm.GetResourceSet(Thread.CurrentThread.CurrentCulture, true, true);
string r = string.Empty;
if (resourceSet != null)
{
foreach (DictionaryEntry entry in resourceSet)
{
string resourceKey = entry.Key.ToString();
object resource = entry.Value.ToString();
r += "\"" + entry.Key.ToString() + "\": \"" + entry.Value.ToString() + "\", ";
}
}
r = "var q = {" + r + " culture: \"" + Thread.CurrentThread.CurrentCulture.ToString() + "\"};";
r += "console.log(q);$.each(q, function(k, v){console.log(k + \": \" + v)});";
context.Response.Write(r);
}
我該如何讓繼承在代碼中工作?