我用 C# 编写了一个报告渲染器,它运行报告并将报告附加到电子邮件中。这一切都很好,除了在报告标题中列出的参数的日期格式不正确。所有报告的语言都设置为 =User!Language
并且使用 FormatDateTime 函数输出参数以根据用户的区域设置进行格式化。
我基本都是用渲染方式described here on MSDN .
当报告通过浏览器运行时,这一切都很好。但是,当我从 C# 呈现报告时,它使用 en-US
日期格式。
报表服务器的区域设置与运行 C# 程序的计算机的区域设置一样设置为正确的区域。
我需要在我的 C# 程序中设置什么属性才能使用我适当的语言/文化呈现报告?
最佳答案
但是,在这种情况下,您想要做的是覆盖 ReportExecutionService 上的 GetWebRequest 方法,而不是像该答案中那样覆盖 ReportingService:
public partial class ReportExecution : ReportExecutionService
{
protected override WebRequest GetWebRequest(Uri uri)
{
WebRequest request = base.GetWebRequest(uri);
request.Headers.Add(HttpRequestHeader.AcceptLanguage, CultureInfo.CurrentCulture.Name);
return request;
}
}
关于c# - 为通过 C# 呈现的报告服务报告设置语言/文化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13022388/