【问题标题】:ReportViewer in MVC 4 partialMVC 4 中的 ReportViewer 部分
【发布时间】:2013-01-16 12:47:46
【问题描述】:

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

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

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

  2. 我已经在 IFrame 中尝试了 ASPX 页面,但这不是我想要的方式,关于使这个解决方案发挥作用。

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

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

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

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

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

【问题讨论】:

  • 你是如何加载部分数据的? (#1 次尝试)
  • @dennisrongo 我尝试了很多方法。大部分都围绕着创建数据集和绑定

标签: asp.net-mvc asp.net-mvc-4 reportviewer ascx


【解决方案1】:

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

您还可以查看this blog post,它说明了如何同时运行 ASP.NET MVC 和经典 WebForms。

【讨论】:

  • 嗨,我想问一个问题,我检查了该博客帖子代码,但我没有解决我的问题的解决方案。当我单击搜索按钮时,我正在过滤和查看 mvc 页面上的数据。之后,当用户按下报告按钮时,我想将我的搜索 dto 路由到 aspx 页面,如何在不使用会话的情况下做到这一点?
  • @Darin,如果您使用 LocalReport 并绑定数据服务器端,则可以使用 ReportView 控件,因此“..,您不能在本机 ASP.NET MVC 视图中使用此控件...”不完全正确。
猜你喜欢
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多