2012-07-09 32 views
0

我们的团队正在用ASP.NET构建一个新的网站。我们计划使用三层架构。问题在于网页上显示的控件需要根据客户的要求随时更改,这意味着需要添加一对标签/文本框,或者在客户需要时删除一对标签/下拉列表。所以布局需要灵活,并允许轻松添加或删除控件,虽然它只显示一些简单的产品信息,如价格,折扣,税收等。如何设计一个网站时,其内容布局需要随时更改?

该网站的以前版本保存所有控制信息一个数据库,如控件名称,控件类型(文本框,标签,下拉列表),它属于哪个页面和面板等等。你可以看到有很大的性能影响,因为每次有这个页面的请求时,它都需要无论请求是否回发,都可以从数据库中获取所有必需的控件并手动添加到页面中。

我们想直接将控件添加到.aspx页面,但在这种情况下,以后很难再改变它们。我们还考虑将所有控件的信息保存在XML文件中,这可能会带来一些性能优势,但仍需要始终呈现控件。

因此,这是我们的问题,以改善应用程序的性能,同时也满足用户的需求。任何人都可以帮助我解决任何问题吗? PS:如果我没有说清楚,你也可以提出问题。最好的祝福。

+0

如果您需要这种灵活性水平,您应该考虑LightSwitch。你是否想要构建一个可配置的平台?或者你不希望收集前台的需求? – 2012-07-09 03:38:59

+0

@GlennFerrieLive,我们不熟悉LightSwtich,时间有限。这不是一个可配置的平台,我们只是想隔离控制添加和删除过程,并减少痛苦。 – ugoa 2012-07-09 05:05:25

回答

0

这听起来像是User Controls的一个很好的情况。如果您只是在切换子控件可见性,那么创建具有可切换可见性属性的用户控件应该能够满足您的需求。您仍然可以使用后端来切换可见性,但只需从数据库中取出是/否标志而不是整个页面模式。从体系结构的角度来看,用户控件非常棒,因为它们鼓励模块化,代码重用,并且很好地适用于版本控制(UsercontrolV1.cs,UserControlsV2.cs等)。在变更请求需要逻辑更新的情况下,或者只需要恢复到x迭代前存在的构建,版本控制就显得尤为重要。

+0

你的意思是对于每一个产品信息(价格,税金,折扣等),我们应该把它包装到一个用户控制中?在这种情况下,会有数百个小用户控件,其中大多数都是相似的,似乎很多重复的工作。我误解了你的观点吗? – ugoa 2012-07-09 05:28:45

0

现在,我称之为灵活的网络应用程序。

上的网页需要显示的控件来改变所有的时间

谁将改变控制?客户端?每次请求更改控件时,是否可以不更新.aspx文件并将其发布到服务器?

但无论如何,它是一个有趣的问题。除了使用XML文件外,没有别的办法可以完成。

+0

开发人员应根据客户的要求更改控件。我们希望使这个过程更加模块化,而不是随处修改现有的代码。 – ugoa 2012-07-09 05:45:00

+0

然后我认为你应该只用于XML或文件I/O。否则事情会变得更加复杂 – 2012-07-09 06:17:44