2010-02-10 52 views
0

我有几个超级简单的数据库。基本上它们都由单个表格组成,这些表格可以保存跟踪/记录数据等。使用.net生成简单的网站图形用户界面

现在我想列出这些数据,但我希望找到一个适用于所有数据库中所有不同表格的解决方案。所以基本上我正在寻找某种方式/指向数据库解决方案的某种模式,生成代码和GUI以及发布站点。这些表可以有大量的行,所以我需要功能上像分页等,但否则一个简单的列表就是我要找的第一步。我一直在寻找Dynamic Data from MS - 可以工作吗?其他选项?我真的很喜欢网站对我的ASP.NET MVC ...

作为第二步,我也想有可能通过GUI更改/添加和删除行中的数据。

+0

我绝对推荐动态数据。您可以在不到5分钟的时间内启动并运行该站点,因此我认为这是值得一试的。 – 2010-02-10 08:22:43

回答

1

如果你不介意强制性的JavaScript,那么我会建议jqGrid。枚举表,列,并从中生成jqGrid的列(colModel)应该非常简单。你可以看到我如何做一个similar事情的例子here - 它几乎正是你所需要的,但是对于类而不是数据库。所以,你不能直接使用这个解决方案,因为它适用于域类,但它非常接近,你可以把它作为一个基础并重写JqGridExtensions.JqGridModel来处理数据库表定义,而不是域类定义。

如果您的网站必须在没有JavaScript的情况下工作,那么无论是搭配脚手架的MVC v2都可以使用,或者您可以尝试S#arp Architecture,其中也包括自己的脚手架,可以生成完整的CRUD模型/控制器/视图/存储库/等等这里的好处是,您仍然可以使用,而不是数据集。然而,据我所知,你必须手动为每个实体定义脚手架 - 但由于脚手架非常灵活,我相信你可以编写Uber-Scaffolding类,它将枚举你的数据库并吐出子脚手架文件或只是马上给他们打电话。一个quote

编程方式创建一个对象 称为EntityScaffoldingDetails这 持有的细节,如实体名称, 命名空间,与物业一起 详细信息,如属性名称, 类型,域签名包容, 属性,默认测试值和SQL生成详细信息。

但是,我更喜欢jqGrid的方式,因为它很容易从通常包含所有元数据的数据库模式生成jqGrid模型定义。当然,可以整合S#arp脚手架和jqGrid,以便第一个产生后者。脚手架的好处是你可以完全控制代码,你可以把它和它调整。因为,你不能指望它是100%自动的 - 生成器不能决定HasMany或ManyToMany,控制类型,隐藏字段等等。当然,你可以使用SQL元数据(属性也许)给脚手架生成器提供提示。

现在,如果您需要现成的解决方案,我不认为除了商业工具外,其他产品都可以使用。以上只会让你组装自己的一个。例如,对于商业工具,Telerik Grid表示能够“根据它所绑定的数据项的属性自动推断其列”。