首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

Asp.net 2.0的心得:ObjectDataSource的使用

        首先,我们谈三层结构,在商务逻辑层与用户界面层之间,在之前的Asp.net 1.1中,用户界面层必须采用第三方控件或者直接读写商务逻辑层的数据,而无法进行控件的数据绑定,用户必须手工填写好给商务逻辑层中的接口所需要的各种数据,并按照所使用的页面控件的格式编写程序逐一把从商务逻辑层中得到数据呈现出来。这样的开发模式在我们以往在asp.net的开发中,认为是理所当然的,既然要使用三层架构,就必须在开发效率上做出牺牲,然而,现在MS伴随着ObjectDataSource的推出,大声的对这种概念说:NO!

        那么,我们看看现在的三层架构中引入了ObjectDataSource后新的开发流程是什么呢?首先,在数据库服务层中,我们不需要做任何变化,继续沿用大家认为记过长时间优化而得来的数据库接口,如果您喜欢用DataSet,那么,继续;如果喜欢使用SqlDataAdapter的,也请继续。不需要任何的改变,同样,在商务逻辑层中,大家尽管按照以为的习惯去书写,也同样不需要改变什么,比如读数据的时候,无论你返回的是DataSet,还是你自己定义的一个Array,List,都可以,而带来天翻地覆的变化的,是在用户界面层,小虫经常是做到了在用户界面层的无代码编程(C#或者Basic.Net代码),那么,这是如何做到的呢?

        这里,小虫用一个简单的例子来加以说明:

        我们假设有一个书店的后台管理程序中,必须实现一个书的类别的增加、删除、更改、和查询。对于数据库层来说,无非是写好这四个存储过程:Insert, Update , Delete , Select,和调用他们的方式,而在商务逻辑层中,您首先需要定义一个类,比如Class BookClass, 然后分别需要根据四个存储过程分别写出以下四个函数:

         Class BookClass
        {
        Public static int Insert(…);
        // 增加一个书的类别,成功返回这本书的ID
        Public static bool Update(…);
        //修改一个书的类别,成功返回true,失败返回flash
        Public static bool Delete();
        //删除一个书的类别,成功返回true,失败返回flash
        Public static DataSet Select();
        //查询指定条件下书的类别信息,成功返回一个DataSet,失败发挥Null.
        }

        这里有个注意的地方,那就是你函数中的参数名必须和数据库中表的字段名或者存储过程的参数名保持一致,而如果是主键,那么参数名必须为:original_<字段名>。

        写完了上面的商务逻辑层中关于书的类别的代码,那么,下面就是如何调用的问题了,在传统的Asp.net 1.1的开发过程中,如果你想增加一个书的类别,那么必须手工填写好Insert(…)函数里面的参数,然后根据返回值来进行处理,那么现在呢?

        小虫偷懒的办法来了,呵呵:

        小虫在页面上拖一个FormView,在Wizard中的Chose data srouce中选择new data srouce, 然后选择database,,设置ID为ObjData(记着,是DataaSource 不是Object,先别问为什么),然后,按照提示一步步的把你正常做sqldatasource的习惯定义好需要的字段,最后IDE会自动的把你所需要的格式生成FormView的template design。然后,呵呵,delete掉刚才自动加的哪个SqlDataSource控件(也别问我为什么),再然后,拖一个ObjectDataSource过来,把ObjectDataSource的ID改成你刚才删除掉的SqlDataSource控件的ID:ObjData,再把选择ObjData的设置向导,选择Configure Data Srouce,把它设置为BookClass,然后分别给Select, Insert, delete , update设置你在Class BookClass中定义的函数,然后,别的也不需要,直接finish,就可以了。如果是Select查询,而又与参数,那么根据相应的条目设置就可以了。再然后,按“F5”运行啊,哈哈,至于页面布局、美化,那关我什么事,那是美工的活,我可不能越俎代庖啊。

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航