2

我正在观看有关 Rails 的教程,并且印象深刻的是,您可以轻松地为一个类创建一个编辑系统,只需定义它。

这可以在 ASP.NET 中完成吗?

我知道那里有 ORM,但它们是否带有编辑系统?

为了解释我所说的编辑系统是什么意思,考虑一个定义人的类

class Person
{
  string First_Name;
  string Last_Name
}

然后也许用一个大胆的笔触是这样的:

CreateEditAbleClass(Person)

您将在浏览器中获得以下功能:

http://www.yart.com.au/images/orm_editor.jpg

这个功能将扩展到所有 UML 定义——继承、关联、聚合等。此外,还有一种添加可定制验证等的简单方法。

我目前使用 DataGrids 和大量手动编码来实现这些结果。

4

5 回答 5

1

当然。这不是我的想法,但我相信您可以将您的类连接到 ObjectDataSource 组件,该组件又将连接到DetailsView控件。所以这是一项额外的工作,但如果有一种方法可以即时创建所需的项目并将它们绑定在一起,那就太简单了。

于 2008-10-19T00:04:51.400 回答
1

你可以通过反射来做到这一点。使用反射,您可以枚举类的成员,从而创建一个表单来编辑成员。

根据类的成员创建用于呈现 Web 表单的代码需要更多的代码,然后我愿意在这里输入,但是如果您考虑反思,您应该能够在几个中提出自己的解决方案小时。

于 2008-10-19T00:04:51.523 回答
1

这被称为“脚手架”。

这实际上取决于您用于数据层或 ORM 的内容。例如,Entityspaces带有一个脚手架生成器。

于 2008-10-19T00:40:31.030 回答
1

绝对地!Ruby 中的脚手架在 ASP.NET中称为动态数据。Scott Hanselman 在这里谈到动态数据

斯科特·亨特 (Scott Hunter) 的屏幕投射在这里展示了它。值得注意的是,它很新(仍处于测试阶段)。

于 2008-10-19T01:06:27.203 回答
1

您可以用于简单的站点/目的,但是当您想做更复杂的事情时,它很快就会崩溃。就像如果您不希望某些字段可见会发生什么,如果您与某个类的子集有关系会发生什么等。

在我猜你是通过意识到以下问题来解决这个问题之前,我已经走上了这条路:

  1. 您花费大量时间为类似实体创建类似的表单/列表等。
  2. 您希望最大限度地减少这段时间,并正在考虑是否可以自动生成表单。

基本上,如果您希望它自动完成,那么您最终会创建一个过于复杂的系统,该系统只完成您想要的一半并且实际上需要更长的时间来实现。

但是,如果您想大幅减少编写和维护重复 gui 代码的时间,那么我建议使用声明式表单构建器和表构建器(如 ROR 中的表单构建器)。

这使您可以快速创建表单/表格,而无需重复自己,并且还为您提供了复杂场景所需的灵活性。

于 2008-10-19T01:14:30.633 回答