- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的网站使用这样创建的自定义区域性:
var cib = new CultureAndRegionInfoBuilder("en-gb-xxxx", CultureAndRegionModifiers.None);
cib.LoadDataFromCultureInfo(new CultureInfo("en-gb"));
cib.LoadDataFromRegionInfo(new RegionInfo("en"));
cib.Register();
像这样使用:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-gb-xxxx");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-gb-xxxx");
在我想使用 ReportViewer 控件呈现报告之前,一切都很好。报告文本呈现正常但图像失败,我收到以下错误:
System.Globalization.CultureNotFoundException:不支持文化。参数名称:culture 4096 (0x1000) 是无效的文化标识符
经过大量谷歌搜索后,我发现很多其他人都在问同样的问题,不幸的是总是没有人回答。 This article非常清楚地描述了问题,但没有提供任何解决方案。
是否有人可以提供解决方案(如果不能提供解决方案)?
最佳答案
由于没有答案,我不得不破解:
首先,我创建了一个 CustomReportViewer
,继承自原生 Microsoft.Reporting.WebForms.ReportViewer
覆盖 OnPreRender
方法。它检查登录用户的文化(保存在 session 中)并回滚到父文化(如果有)。
protected override void OnPreRender(EventArgs e)
{
var culture = new CultureInfo(HttpContext.Current.Session["UserCulture"]);
if (culture.CompareInfo.LCID != culture.LCID){
var baseCulture = new CultureInfo(culture.CompareInfo.LCID);
System.Threading.Thread.CurrentThread.CurrentCulture = baseCulture;
System.Threading.Thread.CurrentThread.CurrentUICulture = baseCulture;
}
base.OnPreRender(e);
}
然后我改变了aspx页面中的对象:
<web:CustomReportViewer ID="ReportViewer1" runat="server" AsyncRendering="false" SizeToReportContent="true" ProcessingMode="Remote">
Et voilà
我不会接受这个希望有人能想出一些东西的答案......更干净
关于c# - 将自定义文化与 ReportViewer 一起使用会返回 CultureNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27404755/
我的网站使用这样创建的自定义区域性: var cib = new CultureAndRegionInfoBuilder("en-gb-xxxx", CultureAndRegionModifiers
使用 es-CA 创建文化信息,显然不正确应该抛出异常,但现在不会。 这之前抛出了一个CultureNotFoundException:new CultureInfo("es-CA")。它现在似乎退回
我用 C# 开发了一个网站,该网站在我的计算机上可以在所有 3 种浏览器(FireFox、IE 和 Chrome)上运行。 在其他计算机上可以在 IE 上运行,但在 FireFox 上收到以下错误:
我已将我的 ASP.NET MVC 2 项目迁移到 VS 2010 + .NET 4.0。 现在,当我启动应用程序时,我在 IntelliTrace 和 Output/Gebug 窗口中收到很多“Cu
在我记得的所有 MVC 项目中(我现在使用的是版本 3),我收到错误: A first chance exception of type 'System.Globalization.CultureNo
我们使用 CultureInfo(customCulture) 将文化设置为自定义文化 为了以防万一,我们在 app_start 的 global.cs 中创建了 customCulture。 在我的
我是一名优秀的程序员,十分优秀!