Asp.net 开发基于web的短期数据输入UI

Asp.net 开发基于web的短期数据输入UI,asp.net,architecture,user-interface,data-entry,Asp.net,Architecture,User Interface,Data Entry,假设您必须快速构建一个在web浏览器中工作的数据输入UI,它必须与业务层接口,必须与数据层接口 您只想连接到业务对象,而不是直接连接到数据库 UI的大多数视图都是简单的CRUD操作,在网格中进行编辑/更新 但有些屏幕会更复杂,代表多对多的关系 在ASP.NET中实现这一点的最快方法是什么 (注意:开发速度是高优先级,代码质量和可重用性是低优先级。)实体框架+ASP.NET动态数据?我已经以同样的方式为我的公司编写了许多类似的小型业务编辑器,让它快速工作,如果它被使用或需要改进,我会稍后处理 启动

假设您必须快速构建一个在web浏览器中工作的数据输入UI,它必须与业务层接口,必须与数据层接口

您只想连接到业务对象,而不是直接连接到数据库

UI的大多数视图都是简单的CRUD操作,在网格中进行编辑/更新

但有些屏幕会更复杂,代表多对多的关系

在ASP.NET中实现这一点的最快方法是什么


(注意:开发速度是高优先级,代码质量和可重用性是低优先级。)

实体框架+ASP.NET动态数据?

我已经以同样的方式为我的公司编写了许多类似的小型业务编辑器,让它快速工作,如果它被使用或需要改进,我会稍后处理

启动一个新的asp.net项目。将类库添加到解决方案并从asp.net应用程序引用它

Asp.Net应用程序

  • 使用母版页和主题
  • 数据列表使用中继器,命令按钮用于选择和删除
  • 中继器也适用于内部列表,注意OnItemDataBound和OnItemCommand
  • 使用面板保存列表和编辑器,编写一些逻辑来控制何时查看编辑器以及何时查看列表
  • 如果逻辑是通用的,那么创建一些新编辑器可以使用和覆盖的基本页面
类库

  • 添加您的业务对象
  • 添加Linq到Sql类,并根据需要添加数据库对象

如果发展速度是首要任务,那么就按照你所知道的去做

例如,如果您知道ado.net/EnterpriseLibrary,请使用它。如果您知道实体框架或LINQ,那么就走这条路


如果没有您的技能总结,任何人都不可能告诉您启动和运行某项功能的最快方法。

为了简单起见,您可以使用一些经过时间测试的控件和对象:

  • 用户界面层:用于显示和提供用于编辑和删除数据的链接的GridView。单击编辑链接可能会打开一个新的Asp.net网页,其中包含用于插入和更新记录的FormView。使用ObjectDataSource链接业务逻辑层的方法以创建/读取/更新/删除记录

  • 业务逻辑层:除了创建CRUD方法外,您可能还需要使用轻量级的可序列化数据传输对象在不同层之间传递数据,并使用自定义映射器从其他层传递数据

  • 数据访问层:LINQtoSQL可能使数据访问和操作变得快速和简单


这取决于应用程序的复杂性。我会和Linq一起去Sql。但是,使用LINQtoSQL并没有必要在业务层和数据访问层之间提供良好的抽象。但我发现,使用LINQtoSQL可以快速从存储器中检索数据并将其显示在屏幕上

另外,若你们想要快速的UI,那个么看看动态数据网站。它还使用LINQtoSQL或实体框架


你必须考虑的一个问题是,如果你需要好的设计或RAD

这绝对是在Asp.net中实现这一点的最快方法。有趣的是,您提出了与我们开始使用的完全相同的组合。我问这个问题是因为我想看看还有什么其他选择。目前这两种技术都存在很多问题。实体框架-无法简单更新工作表上的关系;这绝对是林克的儿童游戏!动态数据-非常不灵活,无法满足我们的需求。我们希望在网格视图中插入。不行。我们只想更新有更改的列。不行。必须编写一个复杂的黑客程序来解决这个问题。我认为,既然我们已经在动态数据方面进行了投资,我们最好还是继续进行下去。至少我们会做出决定。