在 web.config 中设置的当前文化
Posted
技术标签:
【中文标题】在 web.config 中设置的当前文化【英文标题】:Current culture that has been set in web.config 【发布时间】:2016-08-28 13:09:19 【问题描述】:我在全球化部分的 web.config 中设置了文化。资源文件正确加载(对于翻译的单词)。但是当我想显示星期几时,它不能根据 web.config 中的文化工作,而是使用服务器文化。
如何根据 web.config 中设置的文化而不是网络服务器文化获取星期几?
(再次重申:我对资源文件没有任何问题。)
web.config 中的文化设置:
<system.web>
<globalization
fileEncoding="utf-8"
requestEncoding="utf-8"
responseEncoding="utf-8"
uiCulture="ar"
culture="ar"
/>
显示日期的代码:
var culture = new System.Globalization.CultureInfo( "ar" );
var day = culture.DateTimeFormat.GetDayName( DateTime.Today.DayOfWeek );
dayOfWeekLbl.Text = day;
我在我的 C# 代码中设置了文化,它可以工作。但我希望代码使用 web.config 中的文化。
我没有为资源文件编写任何代码,它适用于 web.config 中的设置。
【问题讨论】:
编辑您的问题并从您设置文化的 web.config 添加代码。 【参考方案1】:您的 web.config 设置正确,应该可以正常工作。似乎您在项目的其他地方设置了文化。寻找这样的东西:
在代码中设置区域性的函数。 InitializeCulture()
函数通常用于此目的。
程序集属性。示例[assembly: AssemblyCulture("en-US")]
。
页面指令。示例<%@ Page Culture="en-US" UICulture="en-US" %>
如果您发现其中任何一个,请将其删除并重试以查看是否能解决问题。当然,InitializeCulture()
函数的情况下,它可能需要用于其他目的,所以你必须修改它而不是删除它。
【讨论】:
没有InitializeCulture()
和<%@ Page Culture="en-US"
,只有一个AssemblyCulture("")
,它是给fckeditor的,它没有引号,只有AssemblyCulture("")
。
好的,但是肯定有一些代码正在改变线程的文化。在您的整个解决方案中搜索culture
,看看是否能找到任何东西。以上是关于在 web.config 中设置的当前文化的主要内容,如果未能解决你的问题,请参考以下文章