相关疑难解决方法(0)

Crystal Reports for Visual Studio 2010错误

我正在尝试使用ASP.NET 4.0和Visual Studio 2010从我的Web应用程序运行水晶报表.我已经从SAP站点安装了以下内容(http://www.businessobjects.com/jump/xi/crvs2010 /us2_default.asp)

1)SAP Crystal Reports,Visual Studio 2010版本 - 标准EXE安装包,用于将软件安装到Visual Studio IDE中.

2)用于.NET Framework 4的SAP Crystal Reports运行时引擎(64位)

我有一个名为Reports.aspx的页面,其中我有一个水晶报表查看器控件

 <CR:CrystalReportViewer ID="rptViewer" runat="server" AutoDataBind="true" />
Run Code Online (Sandbox Code Playgroud)

在Reports.aspx.cs文件中,我有以下代码:

protected override void OnPreRender(EventArgs e)
{
    ReportDocument report = new ReportDocument();
    var path = Server.MapPath("Reports/Sample.rpt");
    report.Load(path);
    report.SetDatabaseLogon("username", "password", "servername", "databasename");
    rptViewer.ReportSource = report;
}
Run Code Online (Sandbox Code Playgroud)

在report.Load(path)行上,我收到以下错误:

不支持的操作.由JRC引擎处理的文档无法在C++堆栈中打开.

我怎样才能解决这个问题?

c# visual-studio-2010 crystal-reports asp.net-4.0

17
推荐指数
4
解决办法
4万
查看次数

如何在asp.net mvc 3项目中路由.aspx页面?

我在以下路径中有一个.aspx页面:

Areas/Management/Views/Ticket/Report.aspx
Run Code Online (Sandbox Code Playgroud)

我想在浏览器中将其路由到以下路径:

http://localhost/Reports/Tickets
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我试试这个:

routes.MapRoute(
    "Tickets", // Route name
    "Areas/Management/Views/Ticket/Report.aspx", // Original URL
    new { controller = "Reports", action = "Tickets" } // New URL 
);
Run Code Online (Sandbox Code Playgroud)

但我得到了404错误.

我做错了什么?

Obs:我把它放在Default路线之前.

c# asp.net asp.net-mvc routing

14
推荐指数
2
解决办法
3万
查看次数

MVC中的Crystal Reports

好吧,所以我正在为我工​​作的公司构建一种报告中心,而且很容易就是建立一个基于Web的文件浏览器,现在我正在转向它的报告方面并开始它,我'集成Crystal Reports.我已经从他们的SAP网站上获取了这些文件,但是我遇到了一些问题,

首先,我发现的所有示例都是为了让您必须定义数据源/数据库,并在代码中包含它的登录信息.这是一个问题,因为我们有很多水晶报告,有很多不同的数据库参考,所以我不能只使用一个.事实上,有报道称我们同时使用该引用多个数据库.

其次,我发现的所有示例都表明您必须为每个报告创建一个特定页面.我的目标是能够将报告链接作为变量,并为我们拥有的所有报告创建一个页面.

我看了昨天能找到的一切,但找不到我需要的东西.我也想知道ReportClass.Load函数到底是做什么的.在我能找到的每个例子中都没有注意到我使用它时ReportClass中的任何明显差异.

在搜索时,我找到了一个答案,建议构建一个可以构建Reports的Web表单应用程序,然后使用I-Frame来抓取它,但这是我想要避免的.

所以在审查中:

1)我需要构建Crystal Reports而不必引用数据库

2)我只需要提供.rpt文件的路径,就可以灵活地处理变量Report

3)我希望它在MVC中的单个应用程序中,并避免IFrame

非常感谢你的帮助!!

编辑:我发现了一个适合我的解决方案.我没有使用RAZOR视图,而是使用了ASPX视图,该视图在工具箱中包含Crystal Reports Viewer Tool.为了使它变量我使用了ViewBag.

控制器代码:

[HttpGet]
    public ActionResult Viewer(string Path)
    {
        var sessionID = Session.SessionID;
        ViewBag.Path = newPath;
        return View();
    }
Run Code Online (Sandbox Code Playgroud)

ASPX查看代码:

    <% Report.Report.FileName = ViewBag.Path; %>
    <CR:CrystalReportViewer ID="Viewer" runat="server" AutoDataBind="True" GroupTreeImagesFolderUrl="" Height="100%" ReportSourceID="Report" ToolPanelWidth="200px" Width="100%" />
    <CR:CrystalReportSource ID="Report" runat="server">
        <Report></Report>
    </CR:CrystalReportSource>
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc visual-studio-2010 crystal-reports asp.net-mvc-3

5
推荐指数
1
解决办法
3712
查看次数