Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET编码实践和代码维护_C#_Asp.net_.net - Fatal编程技术网

C# .NET编码实践和代码维护

C# .NET编码实践和代码维护,c#,asp.net,.net,C#,Asp.net,.net,我有一个ASP.NET网页,用户可以在其中生成5种不同类型的报告 我想知道用5个不同的GridView创建5个不同的.aspx页面是否是可以接受的编码实践 我知道我可以只使用一个.aspx页面,并在服务器代码中动态生成所有5个GridView,但从代码维护的角度来看,最好将各种报告分离到各自的页面中 我知道这可能会造成一些代码重复 有什么想法吗?我建议您创建一个用户控件,并在页面中使用该控件,这将是一个不错的选择。我建议您创建一个用户控件,并在页面中使用该控件,这将是一个不错的选择。我只会使用继

我有一个ASP.NET网页,用户可以在其中生成5种不同类型的报告

我想知道用5个不同的GridView创建5个不同的.aspx页面是否是可以接受的编码实践

我知道我可以只使用一个.aspx页面,并在服务器代码中动态生成所有5个GridView,但从代码维护的角度来看,最好将各种报告分离到各自的页面中

我知道这可能会造成一些代码重复


有什么想法吗?

我建议您创建一个用户控件,并在页面中使用该控件,这将是一个不错的选择。

我建议您创建一个用户控件,并在页面中使用该控件,这将是一个不错的选择。

我只会使用继承和单个页面/网格。然后,对页面和网格的任何自定义使用多态性。例如,您可以有一个基本的报表类,您的5个不同的报表从中继承,并精确地指定报表之间的更改。

我只使用继承和单个页面/网格。然后,对页面和网格的任何自定义使用多态性。例如,您可以拥有一个基本的报表类,您的5个不同的报表继承自该类,并精确指定报表之间的更改。

即使您为报表创建了多个页面,也不必重复代码。您只需创建一个业务对象,其中包含在报表之间共享的代码,然后页面就可以简单地实现特定的细节


我可能会为每个报表创建单独的页面—这样更易于维护,而且报表有随时间变化的习惯。

即使为报表创建多个页面,也不必重复代码。您只需创建一个业务对象,其中包含在报表之间共享的代码,然后页面就可以简单地实现特定的细节


我可能会为每个报表创建单独的页面—这样更易于维护,而且报表有随时间变化的习惯。

您可以创建一个aspx和五个UserControl。您可以在aspx中使用报告过滤器,以便各个报告可以使用。i、 e.日期范围等


您可以根据查询字符串参数等加载不同的用户控件。

您可以创建一个aspx和五个用户控件。您可以在aspx中使用报告过滤器,以便各个报告可以使用。i、 e.日期范围等


您可以根据查询字符串参数等加载不同的用户控件。

我认为您不可能使用像SSRS这样的适当报告工具?DRY(不要重复您自己)是经验法则,而不是绝对的。您需要决定这两种方法的权衡是否值得。我想说,这取决于代码复制的数量,如果唯一的复制是连接几个按钮点击事件,那么5页可能是一个更简单的解决方案。无论您采取何种方法,都要尝试将任何公共功能重构为适当的公共类。有很多话要说,是什么让事情在大局中变得最简单(如果你明白我的意思的话),我认为你不可能使用像SSRS这样的适当的报告工具?DRY(不要重复你自己)是一条经验法则,而不是绝对的。您需要决定这两种方法的权衡是否值得。我想说,这取决于代码复制的数量,如果唯一的复制是连接几个按钮点击事件,那么5页可能是一个更简单的解决方案。无论您采取何种方法,都要尝试将任何公共功能重构为适当的公共类。有很多话要说,是什么让事情在大局中变得最简单(如果你明白我的意思;)