ASP.NET MVC - 在逻辑上承担如何构建报表部分的问题

时间:2010-03-04 07:25:01

标签: asp.net-mvc

问题:使用ASp.NET MVC进行报告。

给定:  1.输出中是表格的报表,因此它可以由类(静态字段列表)表示。  2.包含半数或更多可能条件的过滤器掩码,以应用于数据。

MVC文件布局的方法是什么?

  1. 我会说完整报告的一个控制器。
  2. 但模型看起来如何?一个属性具有所有过滤条件(或:每个过滤条件的属性),一个具有结果枚举的属性?
  3. 我还希望在搜索参数发生变化时进行重定向,并希望将参数视为参数(即以/ Reports / Assets?From = ...& To = ...结尾的URL)用户可以为特定的收藏报告添加书签,也可以通过电子邮件发送URL。

    怎么办?我在ASP.NET中有一个lon gbackground,但MVC不知何故让我逃避;)

1 个答案:

答案 0 :(得分:1)

思考而非答案:

在MVC中,理想的情况是向视图发送几乎仅由视图呈现的数据,如果这是来自基础模型的内容,那么如果它特定于视图(或一组视图),则可以很好地工作那就是你做的。

尽可能在您的视图中不需要决策逻辑 - 如果有决策逻辑真的应该关注如何渲染特定元素,那么报表中最简单的模型就是行数据(IEnumerable)和视图只是一个foreach。

然后,控制器的工作就是构建查询并将其传递给视图(或结果,具体取决于哪些工作)。

最初,我认为您可以将未过滤的数据和过滤器传递给视图,然后您仍在进行预测,但是对于附带过滤器的原始数据...但是我已经慢慢地通过这个工作了近乎整洁。

因为所有过滤器逻辑在控制器中(视图只输出查询结果)你几乎可以用URL做你想做的事 - 你的视图是特定于报告的,或者你可以拥有一个更通用的视图,并传入列类型/标题/格式数据以及行数据,其他人应评论其可行性......