ASP.NET 3.5 Extensions新特性:ASP.NET Dynamic Data 体验(上)

概述

ASP.NET 3.5 Extensions CTP包含了一个新特性是“ASP.NET Dynamic Data Support(动态数据支持)”,它允许我们不用编写一行代码极其快速地建造使用LINQ to SQL对象模型的数据驱动的网站。

创建ASP.NET Dynamic Data站点

安装完ASP.NET 3.5 Extensions后,可以在新建项目对话框中看到一项Dynamic Data WebSite:

创建完成后,项目结构如下:

TerryLee_DynamicData_002

在解决方案中会有一个App_Shared文件夹,下面有DynamicDataFields和DynamicDataPages等子文件夹,这里面放的都是些模板文件,可以通过这些模板文件来定制网站的外观,这个下一篇再说。

添加数据模型

添加一个LINQ to SQL文件,以Petshop4的数据库为例:

TerryLee_DynamicData_003

启用动态数据模板

打开Web.config,找到dynamicData一节,设置enableTemplates属性为true,默认为false。

TerryLee_DynamicData_004

运行站点

1.运行站点后,在默认的主页上列出了在数据模型中添加的所有数据表:

TerryLee_DynamicData_005

2.点击Categories进入,为我们生成了一个列表界面,显示出Categories中的数据,并且自动根据外键关系,显示了Products一列,可以导航到Category对应的Product,同时

TerryLee_DynamicData_006

3.内置的分页支持,同时显示出可以选择每页显示的记录数:

TerryLee_DynamicData_007

4.根据主外键自动列出筛选条件:

TerryLee_DynamicData_008

5.编辑界面自动列出Supplier供选择:

TerryLee_DynamicData_009

6.自动生成的新增数据界面:

TerryLee_DynamicData_010

7.内置的数据验证支持:

TerryLee_DynamicData_011

结束语

看了上面的效果,是不是有些心动,赶快体验一下吧:),在ASP.NET Dynamic Data体验下篇中学习如何进一步定制网站。

ASP.NET 3.5 Extensions新特性:ASP.NET Dynamic Data 体验(下)

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2007-12-19 23:44 TerryLee 阅读(9416) 评论(29)  编辑 收藏 所属分类: [08]  Web开发

  回复  引用    
#1楼2007-12-19 23:53 | Eeyore[未注册用户]
继续学习新东西...
  回复  引用  查看    
#2楼[楼主]2007-12-19 23:55 | TerryLee      
@Eeyore
呵呵:)

  回复  引用  查看    
#3楼2007-12-20 08:19 | aspnetx      
喜欢TerryLee的风格
  回复  引用  查看    
#4楼[楼主]2007-12-20 08:35 | TerryLee      
@aspnetx
谢谢:)

  回复  引用  查看    
#5楼2007-12-20 08:44 | WEBBER      
如果全是这样的话,程序员还干什么啊,随便一个人来就能当
  回复  引用  查看    
#6楼[楼主]2007-12-20 08:52 | TerryLee      
@WEBBER
没这么简单吧,看看下篇吧,如果不能满足你的需要,而要求进行特定页面定制时随便一个人还可以吗?

  回复  引用  查看    
#7楼2007-12-20 09:03 | 阿不      
我个人认为这些简单,都是微软技术给人的一种误导。现实中,很少出现不去定制的需求。
  回复  引用    
#8楼2007-12-20 09:26 | Eeyore[未注册用户]
确实简化了不少工作~~,ms越来越牛了...
  回复  引用  查看    
#9楼2007-12-20 09:37 | Yoshow      
这东西先进啊 , TerryLee 总是走在时代前沿啊 ^_^
  回复  引用    
#10楼2007-12-20 10:49 | freesquare[未注册用户]
Lee,看到你的文章马上试验了一下。。。。非常的nice。看到你又跑到大家前面去了啊。
  回复  引用  查看    
#11楼[楼主]2007-12-20 10:59 | TerryLee      
@阿不
嗯,在这个版本中,定制功能已经加强了不少啊:)

  回复  引用  查看    
#12楼[楼主]2007-12-20 11:02 | TerryLee      
@Eeyore
希望后面的版本中功能再强大一些:)

  回复  引用  查看    
#13楼[楼主]2007-12-20 11:03 | TerryLee      
@Yoshow
呵呵,只是尝试了一把:)

  回复  引用  查看    
#14楼[楼主]2007-12-20 11:04 | TerryLee      
@freesquare
呵呵,没有,只是喜欢尝试而已:)

  回复  引用  查看    
#15楼2007-12-20 14:01 | SZW      
@freesquare
--引用--------------------------------------------------
阿不: 我个人认为这些简单,都是微软技术给人的一种误导。现实中,很少出现不去定制的需求。
--------------------------------------------------------

虽然技术是不错,个人感觉这种“误导”行为是MS有意这么做的,为的是降低程序员进入门槛,从而争取到更多的程序员去开发,程序员多了,市场占有率还会少吗?(至少C#的使命之一就是和Java抗争吧)。
这样带来的后果很可能是大批只重开发效率不重使用效率的新.net程序员的出现。

  回复  引用  查看    
#16楼2007-12-20 14:01 | 行知      
这种技术,我认为可以用于一个产品原型的研究,并不适用于正式项目。

MonoRail也有类似的技术,只要在控制器前加上Scaffolding标记,
[Scaffolding( typeof(Blog) )]
public class BlogsController : Controller
{
}
Blog是一个ActiveRecord数据类,这样不用一行代码就可以,MonoRail自动产生针对Blog类的CRUD,List等界面。

  回复  引用    
#17楼2007-12-20 15:49 | HHH[未注册用户]
这个和ruby on rails的脚手架有什么区别?ror还比这个简洁好多!
  回复  引用    
#18楼2007-12-20 16:56 | o0myself0o[未注册用户]
时刻跟着您的脚步前进!
  回复  引用  查看    
#19楼[楼主]2007-12-20 20:01 | TerryLee      
@SZW
也不完全是吧,MS只不过是多提供了一种实现的手段而已。工具还在乎个人使用。

  回复  引用  查看    
#20楼[楼主]2007-12-20 20:01 | TerryLee      
@行知
现在还没正式发布,不知道正式发布会是什么样子。

  回复  引用  查看    
#21楼[楼主]2007-12-20 20:01 | TerryLee      
@HHH
这个是.NET下的ROR,呵呵

  回复  引用  查看    
#22楼[楼主]2007-12-20 20:05 | TerryLee      
@o0myself0o
:)

  回复  引用  查看    
#23楼2007-12-27 10:27 | jillzhang      
感觉ms会越来越让我们都没饭吃
  回复  引用    
#24楼2008-10-02 07:42 | yesun[未注册用户]
$ms是越来越牛了,程序员越来越傻了
  回复  引用    
#25楼2008-12-16 20:18 | jansky[未注册用户]
这种模式不错。不过现在有beta版了,
  回复  引用  查看    
#26楼[楼主]2008-12-17 11:26 | TerryLee      
@jansky
现在不是Beta版,是已经包含在.NET Framework 3.5 SP1中。

  回复  引用  查看    
#27楼2009-01-03 15:39 | a_a      
MSDN前瞻技术QQ群 讨论微软未来开发技术 6585273

谢绝灌水,验证信息请附您学习、使用的未来技术或博客地址




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1006431





相关文章:

相关链接: