【问题标题】:Static Vs Dynamic controls + Situation based静态与动态控制 + 基于情境
【发布时间】:2010-12-29 05:24:44
【问题描述】:

我正在构建一个 Web 应用程序来管理基于不同参数(例如 JobCode、State、Customer、Product 等)的指令。我为每个这样的参数分配了大约 20 个填充字段。字段的显示名称可能因一个项目而异。 (多种实现)。

有些项目可能不会使用全部 20 个字段,而只会说 5-6 个字段...

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

我想为所有 20 个字段提供静态控件,并使用必要的字段名称填充标签,并使用字段名称“Filler1”、“Filler2”与 SP 交互。这也意味着我们需要让不需要的控件不可见...

作为更有经验的用户...您能列举一下两者的优缺点吗...

谢谢

【问题讨论】:

    标签: c# asp.net system-design


    【解决方案1】:

    如果不适用于特定情况的字段仍然可见,则最终用户将很难理解界面。

    所以我确实建议不要生成任何您不需要的字段,或者至少隐藏它们以防不需要它们。

    至于将逻辑放在哪里……从数据库中提取决定何时应显示哪些字段的数据确实很有意义。但我建议不要将所有实际呈现页面的逻辑放在存储过程中。相反,您将使用 SP 来获取数据,并使用您的语言(PHP、C#/ASP.NET、Java Servlet 等)来实际处理数据并呈现页面。

    【讨论】:

      【解决方案2】:

      按照您的描述使用一定数量的字段从来都不是一个好习惯(最好动态构建它 - 但请确保您编写高效的代码)。通过创建一定数量的控件,您会限制自己,并造成很大的维护问题。你现在可能看不到,但是以后如果控件数量发生变化会发生什么?

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

      【讨论】:

      • 但是...访问数据库只是为了重新创建完整的控件集,以便它们可以在回发时可见...您不认为这会增加很大的开销...
      • 你能告诉我一些资源,告诉我处理动态控件的有效方法...
      • 是的。那里有一些开销。您可以缓存查询的结果(它不太可能经常更改)。
      • 关于动态添加控件的一些阅读,请查看此链接:msdn.microsoft.com/en-us/library/kyt0fzt1.aspx
      猜你喜欢
      • 2018-02-23
      • 2011-01-23
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多