如何在asp.net MVC项目中集成ReportViewer
?
我想添加MVCProject.Model
命名空间的业务对象。 ReportViewer
允许使用DataSet的业务对象。
是否可以选择其他数据源,例如LinqDataSource
或直接使用LINQ-to-SQL类对象?
在MVC项目中添加报告的最佳解决方案是什么?
如何在asp.net MVC项目中集成ReportViewer
?
我想添加MVCProject.Model
命名空间的业务对象。 ReportViewer
允许使用DataSet的业务对象。
是否可以选择其他数据源,例如LinqDataSource
或直接使用LINQ-to-SQL类对象?
在MVC项目中添加报告的最佳解决方案是什么?
这会很困难。首先,您需要ViewState,因此需要在常规WebForms页面中托管报告。不过这并不太糟糕- WebForms和MVC可以很好地并存。
困难的部分是绑定到真正的IEnumerable对象,而不是那些虚假的ObjectDataSources。
第一步是构建报告数据模型。您可以使用代码、查询或任何其他方式来完成此操作。一个类似于以下结构(但显然更大)的结构是典型的:
public class ReportSource
{
public Floogle[] Floogles { get; set; }
}
public class Floogle
{
public Doodad[] Doodads { get; set; }
public string Text { get; set; }
}
public class Doodad
{
public int Number { get; set; }
}
typeof(ReportSource)
- 是的,数据源是您的报告模型类型。我在CodePlex上发布了一个小项目,它是一个带有报告的MVC项目。
http://mvctaskmanagement.codeplex.com/
基本上,由于我在XP框上进行开发,我的Web表单必须被推到一个单独的项目中。由于我有一个服务层项目,所以我把它放在那里。
从那里,我通过ajax post调用我的报告,将参数发送到报告页面,然后将其传递给用于生成预览的相同服务层。
祝你好运!