2009-05-01 53 views
-1

我的一个朋友写了一个网站,有这么多的用户控制和页面。好的编程建议

页面包含如此多的标签,隐藏值和用户控件。根据用户的要求,他正在启用和禁用这些控件。在每个webform页面载入中,他正在循环播放Request.form.allkeys并比较每个控件。基于这种比较,他正在启用和禁用网络表单上的控件。

我不知道这是不是一个好的编程习惯。

任何人都可以指向正确的方向吗?

+0

问题的一些“编辑整理”可能是好的。 – 2009-05-01 13:34:47

回答

4

我继承了这样一个网站一次。写它的人一定是个受虐狂。

这是一个可怕的方式来设计一个网站。什么时候显示/隐藏东西,何时处理来自哪些字段的输入的复杂性,太多了。维护变得不可能,因为一个微小的修改会产生可怕的后果

更好的方法是将常见行为隔离到单个页面中。如果该页面很复杂,则将该页面的核心部分放入用户控件中。将用户界面分解为逻辑部分并将它们拼接在页面上。

你的页面代码应该非常简单。隐藏/显示特定字段的逻辑是商业逻辑,应尽可能用代码表示。

0

我并不是一个webdev,但我知道这在桌面应用程序世界中被认为是非常糟糕的做法,我真的怀疑它在网络世界中有很大的不同。

考虑在特定操作发生时启用和禁用相关控件,或许使用更多MVC(或现在是MVVM?)方法。你的朋友的应用程序逻辑与演示逻辑非常紧密地结合在一起,因此如果需要更改,整个系统可能会产生连锁反应。

0

我从来没有听说过在使用Web控件时解析表单发布值。当我做传统的ASP时,这将是我的毒药,但不是与网页控制。

至于包装吨的功能到一个页面,这可能是一个坏主意。拥有用户控件对于分组相关UI功能块是有意义的,甚至可以隐藏某个部分,但对于整个“页面”的拉入和拉出来说并不那么重要。只是有不同的页面。另外,如果在同一个页面中混合使用如此多功能的原因是要使用相关代码,那么请将相关代码移动到可供所有代码隐藏程序使用的库中。回到用户控件,将它们用于重复使用的UI元素,这些元素可以在任何页面中使用。