报表服务器上的英国日期格式通过MS SSRS在客户端变为美国格式

时间:2011-11-29 10:46:26

标签: c# asp.net asp.net-mvc reporting-services ssrs-2008

我在使用MS reporting service 2010在客户端检索正确的日期格式时遇到问题。

日期类型的英国日期格式(18/05/2011)被分配给重新处理服务器上托管的rdl文件中的参数的默认值。但是,当日期值通过报告服务2010变为美国格式(5/18/2011)时。

 ReportingService2010 reportingService = new ReportingService2010();
 reportingService.Credentials = CredentialCache.DefaultCredentials;

ItemParameter[] parameters = reportingService.GetItemParameters(reportUrl, historyId, forRendering, values, credentialses);

 foreach (var parameter in parameters)
                {

               //parameter.DefaultValues //date value changed from British value to US
                }

有什么想法吗?

Accessing the SOAP API

1 个答案:

答案 0 :(得分:1)

我必须在生成的ReportingService类旁边创建一个partial类,并覆盖GetWebRequest方法,然后向Web请求添加Accept-Language标头。这是一个示例类:

public partial class ReportingService

{

 protected override System.Net.WebRequest GetWebRequest(Uri uri)
    {
        WebRequest request = base.GetWebRequest(uri);

        request.Headers.Add(HttpRequestHeader.AcceptLanguage, CultureInfo.CurrentCulture.Name);

        return request;
    }

}