我在访问本地化时遇到问题,该值始终以默认语言显示。
我在App_GlobalResources中有两个资源文件:
Resource.resx包含一个名为" Hello"的字符串。和#34;世界"。
Resource.fr.resx包含一个名为" Hello"的字符串。和#34; Monde"
在我的Razor模板中:
<lang:string key="Resource, Resources.Resource.Hello" xmlns:lang="http://www.composite.net/ns/localization/1.0" />
&#34;世界&#34;即使用法语查看页面,也始终显示,永远不会出现#Mon;&#34;
在一个拥有相同资源的vanilla asp.net网站模板中,Razor模板中的以下代码显示&#34; Monde&#34;
String cultureInfo = "fr-CA";
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture(cultureInfo);
System.Threading.Thread.CurrentThread.CurrentUICulture = new
System.Globalization.CultureInfo(cultureInfo);
Response.Write(ObjectInfo.Print(Resources.Resource.Hello));
然而,在C1中,它会导致&#34; World&#34;。
我该怎么做呢?
谢谢!
答案 0 :(得分:0)
<lang:string
构造主要用于XSLT模板和函数,在这些模板和函数中,您不能像Razor那样直接调用c#代码。
您是否尝试过像这样在Razor模板上打印资源@Resources.Resource.Hello
?