我有一个ASP.NET网页,用户可以在其中生成5种不同类型的报告。
我想知道使用5个不同的gridView创建5个不同的.aspx页面是否可以接受编码练习。
我知道我只能使用一个.aspx页面并在服务器代码中动态生成所有5个网格视图,但从代码维护的角度来看,最好将各种报告分成自己的页面。
我知道这可能会造成一些代码重复。
有什么想法吗?
答案 0 :(得分:7)
即使您为报告创建了多个页面,也不必重复代码。您可以创建一个业务对象,其中包含报告之间共享的代码,然后页面只会实现特定的详细信息。
我可能会为每份报告创建单独的页面 - 它更容易维护,而且报告也有随着时间推移而变化的习惯。
答案 1 :(得分:4)
我建议您创建一个用户控件,并在页面中使用该控件,这将是不错的选择。
答案 2 :(得分:3)
我只会使用继承和单页/网格。然后,对页面和网格的任何自定义使用多态。例如,您可以拥有一个基础报告类,您可以从中继承5个不同的报告,并准确指定报告之间的更改。
答案 3 :(得分:3)
您可以创建一个aspx和五个UserControl。您可以在aspx中拥有各个报告可以使用的报告过滤器。即日期范围等
您可以根据QueryString参数等加载不同的UserControl。