2010-03-04 57 views
0

问题:使用ASp.NET MVC进行报告。ASP.NET MVC - 逻辑上如何构建报表部分的问题

鉴于: 1.一个报表是输出表格,所以它可以用一个类(静态字段列表)来表示easiyl。 2.一个包含halfa十个或更多可能适用于数据的条件的过滤器掩码。

MVC文件布局的方法如何?

  1. 我想说一个控制器的完整报告。
  2. 但是模型的外观如何?一个包含所有过滤器条件的属性(或:每个过滤器条件的属性),一个包含结果枚举的属性?

我也愿意当搜索参数的变化做一个重定向并愿意看到的参数作为参数(即/报告/资产结束URL?从= ... &为了= ... ),因此用户可以为特定的收藏报告添加书签或通过电子邮件发送URL

怎么办?我有一个ASP.NET LON gbackground,但不知何故MVC我摸不透;)

回答

1

的思考,而不是答案:

在MVC的理想是要发送到的观点非常简单,只是将数据由呈现如果这是你的基本模型的东西,那么,如果它的视图(或一组视图)特定的东西很好地工作,那么这就是你所做的。

尽可能地,您不希望您的视图中使用决策逻辑 - 并且如果决策逻辑确实应该关注如何呈现特定元素,那么最简单的报告模型就是数据行(IEnumerable的东西)和视图只是一个foreach。

然后,这使得控制器的工作之一是构建查询并将其传递给视图并将其传递给视图。

起初,我认为你可以代替未经过滤的数据和过滤器传递给视图,然后你还在做一个foreach但附有过滤器的原始数据......但是在经历过这个工作我的方式慢慢的这远不及整齐。

监守所有过滤逻辑控制器(视图只输出查询结果),你几乎可以做你想要的网址是什么 - 你的看法或者是报告特定或者你可以有一个更一般的看法并传递列类型/标题/格式数据以及行数据其他人应评论的可行性...

+0

不知道多么相关的答案是 - 该观点对我来说没有逻辑。实际上有多个视图 - 有和没有部分用于编辑过滤器(有些没有用于导出的编辑器)。 我永远不会传递未经过滤的数据 - 数据是从jdbc服务器中提取的,并且来自C++实现的存储过程,并获取过滤器参数,然后创建结果表。 我的主要问题不在于关注视图,而在于控制器/模型部分。模型应该有过滤条件的子模型吗? – TomTom 2010-03-04 13:36:27

+0

是的,我认为肯定应该有一个过滤条件的模型。 – Murph 2010-03-05 09:50:42