2009-12-22 38 views
2

我正在构建一个基于不同参数(例如JobCode,State,Customer,Product等)来管理指令的Web应用程序。我为每个这样的参数分配了20个填充字段。字段的显示名称可能因一个项目而异。 (多重实施)。Static Vs动态控件+基于情境

有些项目可能无法使用所有的20场,但只能说5-6场...

现在,我的一位同事是在暗示我自定义存储过程返回,并接受与列名的字段项目所需的,并让SP用实际的列名进行查找。他还建议动态构建控件。

我想提供静态控件的所有20场,只是必要的字段名称填充标签和使用字段名“Filler1”,“Filler2” SP进行交互。这也意味着,我们需要使非必需控制隐形...

随着越来越多的有经验的用户......你能列举两个利弊...

感谢

回答

0

因为这将是非常难以理解的界面如果不适用于特定的情况下,场仍可见终端用户。

所以我确实会提醒不要产生你不需要任何字段,或者至少是把他们藏在情况下是不需要的。

至于放在哪里逻辑...好它是有意义的拉动,确定哪些领域应该从数据库时要显示的数据。但我建议不要将实际呈现页面的所有逻辑放入存储过程中。相反,您将使用SP来获取数据,并使用您的语言(PHP,C#/ ASP.NET,Java Servlet,还有什么)来实际处理数据并呈现页面。

htht。

+0

这就是我要去尝试...我我确定我会在这里遇到一些挑战...... – 2009-12-23 09:59:03

0

它从来没有如您所描述的那样使用一定数量的字段(最好是动态构建它 - 但要确保编写高效的代码)。通过创建一系列控件,您正在限制自己,并造成很大的维护问题。您现在可能不会看到它,但是稍后,如果控件的数量发生变化会发生什么?

您的同事的建议可行。至少您可以随时更改控件的数量,而无需重新编译代码。

+0

但是...访问DB刚刚重新创建一套完整的控制,使他们可以在回传可见......你不觉得,增加了很大的开销... – 2009-12-23 04:26:50

+0

你能指出我的一些资源,其告诉我处理动态控制的有效方法... – 2009-12-23 04:27:37

+0

是的。那里有一些开销。您可以缓存查询的结果(不太可能经常更改)。 – 2009-12-23 06:02:13