5

我仍然不确定最好的方法。

我已经阅读了很多资源,但仍然没有接近可行的解决方案。

  1. 我创建了一个部分 ASCX 文件。向其中添加了报告查看器,然后在我的 CSHTML 文件中呈现所述部分内容。这是我最近的一次。在那里我可以看到报告查看器、按钮等。但由于某种原因,数据从未显示。

  2. 我已经尝试过 ASPX 页面,IFrame但这不是我想要的方式,关于使这个解决方案工作。

  3. 直接加载 ASPX 页面。但我失去了我的_Layout.cshtml主页风格。

有些人建议更改 config / Global.asax 中的各种东西,而有些人说这甚至没有必要。

理想情况下,我希望将其作为页面的一部分。但是如果我保持我的主要布局,可以处理它是页面上唯一的东西。

我对旧语法/页面/非 MVC 的经验仅限于这个项目 - 试图让它工作。

我的数据通过组件设置链接。该连接在 aspx 页面中工作正常,作为单页或 iframe。但不是在 ascx 中。

4

1 回答 1

8

ReportView 控件需要启用 ViewState。在 ASP.NET MVC 中,这样的概念不再存在。这意味着您不能在本机 ASP.NET MVC 视图或部分视图中使用此控件。您只能在经典 WebForm(而不是 ASP.NET MVC 视图)中使用它,并将此 WebForm 嵌入到当前 ASP.NET MVC 视图或部分视图中的 iframe 中。例如,您可以将报表呈现为图像并直接将其流式传输到响应,而无需使用此控件。这是一篇说明该技术的博客文章。<img>因此,您可以有一个控制器操作,将报告生成为 JPEG 图像,然后使用标签从您的视图链接到此控制器操作。不幸的是,这只会生成报表的静态副本,用户无法与之交互。

您还可以查看这篇博文,它说明了如何同时运行 ASP.NET MVC 和经典 WebForms。

于 2013-01-20T17:56:24.223 回答