频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源: 作者:未知 出处:巧巧读书 2008-07-20 进入讨论组

        首先,我们谈三层结构,在商务逻辑层与用户界面层之间,在之前的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”运行啊,哈哈,至于页面布局、美化,那关我什么事,那是美工的活,我可不能越俎代庖啊。

更多文章 更多内容请看.NET移动与嵌入式技术.NET开发手册ASP.NET教程专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章