asp.net 응용 프로그램에서 리소스를 사용 중이며 클라이언트에서 키/값 쌍을 사용할 수 있도록해야합니다. HttpHandler를 사용하여 리소스 파일을 가져올 수 있었지만 표준 상속이 내가 사용중인 코드와 작동하지 않습니다.C# Resource (resx) 상속
자료 PM.resx 파일은 다음
key: a value: AAAAAA
key: b value: BBBBBB
key: c value: CCCCCC
PM.pt.resx 파일은 다음
key: a value: ptptpt
를 포함 포함
브라우저에 pt
의 culture가 있거나 코드화 된 경우 pt
파일에는 단일 항목 만 있고 기본 파일에는 나머지 키/값 쌍이 포함되어 있으므로 다음과 같이 반환 될 것으로 예상됩니다.
key: a value: ptptpt
key: b value: BBBBBB
key: c value: CCCCCC
그러나 나는 다음을 얻고 있습니다.
key: a value: ptptpt
나는 다음과 같이 자바 스크립트가 생성하는 데 사용하고 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);
}
어떻게 코드에서 상속을받을 수 있습니까?