Dav*_*ton 1 asp.net globalization
我正在尝试实现ASP.NET更改文化的简单示例.我正在运行Windows 7,IE 8和VS 2008.我的标签看起来像这样:
<asp:Label ID="TextBox1" runat="server" meta:resourcekey="Greeting"></asp:Label>
Run Code Online (Sandbox Code Playgroud)
我在App_LocalResources中有两个文件:Default.aspx.resx和Default.aspx.fr.resx.
在它们中,我有一个名为"Greeting.Text"的字符串值,值设置为"Hello!" 在一页,和"卓悦!" 在另一个.
我的浏览器设置为首选fr-FR作为默认语言.当我使用ASP.NET Development Server通过F5或Shift-F5打开页面时,无论我在浏览器的"语言"对话框中设置了什么,该页面显然都将我的文化识别为en-US.
话虽这么说,浏览器配置正确,因为谷歌用法语显示.
当我向页面添加标签并将标签的Text设置为CurrentCulture或CurrentUICulture的名称时,我得到了en-US,这显然不是我输入的内容.
有没有人知道为什么这不能正常工作?
默认情况下,ASP.NET不会根据浏览器自动更改区域性.将其添加到您的web.config:
<configuration>
<system.web>
<globalization culture="auto"
enableBestFitResponseEncoding="false"
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
responseHeaderEncoding="utf-8"
uiCulture="auto"/>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
注意,culture="auto"并且uiCulture="auto"是你正在寻找的重要部分,尽管其余的也可能是一个好主意.另请注意,ASP.NET在当前时间不会使用您在文档中看到的enableClientBasedCulture属性.
| 归档时间: |
|
| 查看次数: |
1681 次 |
| 最近记录: |