首页 > 解决方案 > 报表查看器中的界面语言

问题描述

我正在使用 Reportviewer 在 ASP.NET MVC 应用程序中查看报告。我的系统和浏览器的文化是法语。当我在 Visual Studio 中或直接从服务器(在浏览器中)打开报告时,界面是法语的。但是当我使用reportviewer时,界面是英文的。我如何获得它的法语?

我试图将页面的文化设置为法语,如下所示:

(`UICulture="fr-FR"`)

或者像这样从中性到自动的装配文化:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=auto`...

但没有结果。

System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("fr-FR");
String reportFolder = System.Configuration.ConfigurationManager.AppSettings["SSRSReportsFolder"].ToString();

rvSiteMapping.Height = Unit.Pixel(Convert.ToInt32(Request["Height"]) - 58);
rvSiteMapping.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;

rvSiteMapping.ServerReport.ReportServerUrl = new Uri("http://server/PREPROD/"); 
rvSiteMapping.ServerReport.ReportPath = String.Format("/{0}/{1}", reportFolder, Request["ReportName"].ToString());

rvSiteMapping.ServerReport.Refresh();

标签: c#reportviewer

解决方案


我试图通过关注这篇文章来解决这个问题:https ://devillers.nl/blog/localizing-microsoft-reportviewer/

这个想法是实现一些这样的接口:

 public class FrenchReportViewerMessages : IReportViewerMessages, IReportViewerMessages2, IReportViewerMessages3
    {
        #region IReportViewerMessages Members

        // English value: Back to Parent Report
        public string BackButtonToolTip
        {
            get { return "Terug naar het vorige rapport"; }
        }
...

并将以下内容添加到我的 web.config 中:

<add key="ReportViewerMessages" value="FrenchReportViewerMessages, MyAssembly" />

这似乎是解决方案,但现在我收到一个错误:找不到类型“FrenchReportViewerMessages,MyAssembly”


推荐阅读