我有一个ASP.NET网页,用户可以在其中生成5种不同类型的报告。
我想知道用5种不同的gridViews创建5个不同的.aspx页面是否可以接受。
我知道我可以只使用一个.aspx页面,并在服务器代码中动态生成所有5个网格视图,但从代码维护的角度来看,最好将各种报告分离到自己的页面中。
我知道这可能会造成一些代码重复。
有什么想法吗?
即使为报表创建了多个页面,也不必重复代码。您只需创建一个业务对象,其中包含报表之间共享的代码,然后页面就可以简单地实现特定的细节。
我可能会为每个报告创建单独的页面——这样更容易维护,而且报告有一个随时间发展的习惯。
我建议您创建一个用户控件,并在页面中使用该控件,这将是一个很好的选择。
我只需要使用继承和单个页面/网格。然后,使用多态性对页面和网格进行任何自定义。例如,您可以有一个基本报表类,您的5个不同报表从该类继承,并指定报表之间的确切更改。
您可以创建一个aspx和五个UserControls。您可以在aspx中设置报告过滤器,以便各个报告可以使用。即日期范围等
您可以根据QueryString参数等加载不同的UserControls。