2012-10-23 21 views
2

我已經在C#中編寫了一個報表呈現器,該報表呈現器運行並將報表附加到電子郵件中。這一切都很好,除了報告標題中列出的參數的日期格式不正確。所有報告都將其語言設置爲=User!Language,並使用FormatDateTime函數輸出參數以根據用戶的區域設置進行格式化。通過C#呈現的報表服務報表設置語言/文化

我基本上使用的渲染方法described here on MSDN

當瀏覽器運行報告時,這一切都很好。但是,當我從C#渲染報告時,它使用日期格式en-US

報表服務器的區域設置相應地設置爲正確的區域一樣,都是C#編程'正在運行的計算機的區域設置..

我需要在我的C#程序設置爲報告什麼屬性用我適當的語言/文化來呈現?

回答

3

Here is a similar problem

然而,要在這種情況下做什麼是覆蓋在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; 
    } 
} 
+0

很多你在你的答案說的是錯誤的或誤導性的,但是你在「有用的」鏈接中給了我一個有價值的提示,雖然沒有真正的答案,但給了我足夠的線索來找出答案。我希望你不介意,但我已經完全刪除了你的答案,並用正確的答案取代了答案,所以我可以給你提供你提供給我的提示的要點。謝謝! –

+0

嗯,我很高興我幫助至少小小:) – Jester