拼吾爱程序人生

首页 » .Net编程 » Visual Studio.NET » .Net 2008 sp1新特性之Dynamic Data Web Site
cobra - 2008-9-15 7:59:00
介绍

asp.net的动态数据,是一个web site开发框架,可让您很容易建立数据驱动的asp.net的Web应用程序。通过自动获取数据模型元数据在运行时产生的用户界面和行为。在这个框架内提供了一个查看和编辑数据的网站。您可以轻松地自定义控件和页面元素或建立新的预设的行为。同时创建的应用能够轻松集成数据和页面中的元素绑定。

功能


原理

Dynamic Data的本质就是通过数据库的框架(Schema)在运行时状态,推断出这些字段栏位的表现形式和操作行为(appearance and the behavior),加上提供的默认页面(page template),标准的字段模板(field template)和自定义控件设计,来实现这样一个动态框架。

Data Model(数据模型)

数据模型代表的信息是在一个数据库中,以及在一个数据库项目中彼此相关的关系。

动态数据支持LINQ-to-SQL数据模型和ado.net实体框架数据模型。您可以包括多个实例的数据模型在Web应用程序,但模式中使用的动态数据必须是同一类型。

将需要使用的数据模型在web应用程序的Global.asax文件中注册,经过注册的数据模式,可以在数据库层实现执行自动验证,和实现控制外观和行为

Scaffolding(脚手架)

脚手架是一种机制,就是 asp.net页的框架内对数据模型的动态展示。棚架提供下列能力:

Page Templates(页面模板)

将任何数据库表中提供的动态数据显示在这个经过配置的web页面中,可以显示(列表视图) ,显示主/详细表(详细检视) ,编辑资料(编辑视图) ,等等。默认情况下,动态数据是设定为只能使用列表视图页模板。你可以为不同的目的去改变默认页模板或变更的动态数据使用不同的页面模板。

Field Templates(字段模板)

为数据字段提供显示格式或是编辑格式的控件,比如,日期类型的字段实现需要datetime.ascx等等
这些标准的模板在你创建的项目DynamicData\FieldTemplates目录下
当然你也可以通过自定义来实现特殊的现实或是编辑需要

Enhancing Existing Data Controls(增强现有的数据控件)

detailsview和gridview控件可以显示数据的动态使用预定义的动态数据模板而不是要求您在每一页重新建立相同的标记和代码数据控制。您可以自定义这些模板来改变用户界面显示和编辑数据领域。通过改变一个模板,实现整个项目的改变。
formview和listview的行为类似为detailsview和gridview控件使用dynamiccontrol控制在他们的模板和所指明哪些领域中的连续显示。
Linq-to-Sql/Entity frameowk数据模型的字段验证,不能为空,外键约束,或是自定义验证逻辑


一个自动生成的网站截图
下面所有的操作,所有的页面都无需写一行代码和修改一行配置。
所有需要操作的表

 附件: 您所在的用户组无法下载或查看附件
其中选择浏览一个表中的记录

 附件: 您所在的用户组无法下载或查看附件
浏览记录明细

 附件: 您所在的用户组无法下载或查看附件
新增一条记录

 附件: 您所在的用户组无法下载或查看附件
修改一条记录

 附件: 您所在的用户组无法下载或查看附件
或是删除

 附件: 您所在的用户组无法下载或查看附件




(文/neozhu  出处/博客园)

 您可能对 [Visual Studio.NET] 的这些文章也感兴趣:

Visual Studio 2008 和 .NET Framework 3.5 Service Pack 1 Beta
在.net 1.x 中, 实现多语言功能
与Jolt大奖提名图书《Release It!》的作者精彩对话
DotNet for Symbian平台 (Nokia,Sony,Motorola等手机)
BlogEngine.Net架构与源代码分析系列part11:开发扩展(下)——自定义Theme
.NET开发最新参考资料推荐_20080206
浏览.NETFramework2.0类型库中新增的常用功能
.NEt中的Ftp组件使用
XNA 多光源镜面反射
.Net Micro Framework 模拟器详解 -- 内存配置
1
查看完整版本: .Net 2008 sp1新特性之Dynamic Data Web Site
Modify by pin5i DZNT_ExpandPackage 2.1.3258 2007-2008 pin5i.com
  Total Unique Visitors: