ASP.NET - 在多个项目中重用UI?

时间:2012-06-13 02:04:11

标签: user-interface asp.net-3.5

情况如下:

不久前,我创建了一个后端界面,用于添加/修改/删除数据库中的项目。它是作为一个单独的项目创建的,我们仍在使用该特定的代码实例。我将其称为“版本1”。

在我完成此操作后不久,我复制了代码并将其集成到一个更大的项目中。我将原始项目数据库中使用的所有数据库表复制到该项目已经使用的数据库中。我也不得不在这里复制前端,但这是我关注的后端。这个接口的要求(我称之为“版本2”)有点复杂,所以我不得不继续努力,并对数据库表进行一些修改。

它基本上是同一界面的两个分支版本。但是,从版本2的概念开始,版本1并没有受到太多关注。我在版本2中所做的一些更改不仅仅是新功能,而是与版本1相关的改进/错误修复。我应该在版本1上进行了这些更改,但不幸的是我没有。展望未来,我需要对两个版本进行改进,其中一些改进将适用于这两个版本。

我真的想以某种方式合并2个接口,因为我很确定从长远来看它会减少我的工作量。坦率地说,我想放弃版本1并将版本2 UI调整为版本1的数据库。

我的第一直觉是将所有内容传输到具有“版本”属性的用户控件。然后,该版本将用于隐藏/显示与该版本相关或不相关的控件,并且还将用于确定要使用的DB查询/存储过程。这个问题是整个界面跨越5个页面。其中一些页面是从5页中的另一页打开的对话框。我想我可以简单地为每个接口设置一个div,然后当!IsPostBack时,我可以根据querystring变量设置每个div的Visible属性。但是,这似乎非常混乱,并且在一个页面上会有很多代码和标记。我猜或者我可以有5个用户控件,但这看起来像是一个奇怪的设计。

还有其他可行的解决方案吗?

1 个答案:

答案 0 :(得分:0)

我一直在维护4种具有几乎相同界面的产品:

  • 他们从一个项目开始
  • 克隆并分支
  • 我一直在慢慢地重新合并它们

我最好的建议是尝试使用适合两者的用户界面,并切换到使用它。

之后我有一个项目本地设置文件,该文件定义哪些功能不应该存在于其中一个。