仓酷云
标题:
ASP.NET网站制作之Asp.net 2.0的一些当心得 (二) ObjectDataSource的利用仓酷云
[打印本页]
作者:
不帅
时间:
2015-1-18 11:30
标题:
ASP.NET网站制作之Asp.net 2.0的一些当心得 (二) ObjectDataSource的利用仓酷云
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?小虫团体以为,microsoft在asp.net内里一切增添的功效中,ObjectDataSource切实其实是一个最使我眼睛一亮的工具,再不象之前的的DataSource控件给人的鸡肋之感,而给我们在三层架构的数据库开辟过程当中带来了线人一新的感到。
要用好ObjectDataSource,起首我们要认同Microsoft在三层布局的开辟形式中的可视化理念。小虫以为ObjectDataSource是Microsoft供应给人人普遍接纳的三层数据架构与MS一向倡始的可视化编程的一座桥梁,而就今朝小虫的团体利用情形来看,这座桥梁基础满意了MS如今推出的各类数据库控件的数据供应服务(好比GradView,DataList,DetailsView,FormView等),ObjectDataSource间接在页面上供应了商务逻辑层与用户界面层之间的数据互换。
上面小虫就前段工夫做的一个小工具,详细的申明一下:
起首,我们谈三层布局,在商务逻辑层与用户界面层之间,在之前的Asp.net1.1中,用户界面层必需接纳第三方控件大概间接读写商务逻辑层的数据,而没法举行控件的数据绑定,用户必需手工填写好给商务逻辑层中的接口所必要的各类数据,并依照所利用的页面控件的格局编写程序一一把从商务逻辑层中失掉数据出现出来。如许的开辟形式在我们以往在asp.net的开辟中,以为是天经地义的,既然要利用三层架构,就必需在开辟效力上做出就义,但是,如今MS陪伴着ObjectDataSource的推出,高声的对这类观点说:NO!
那末,我们看看如今的三层架构中引进了ObjectDataSource后新的开辟流程是甚么呢?起首,在数据库服务层中,我们不必要做任何变更,持续相沿人人以为记功长工夫优化而得来的数据库接口,假如您喜好用DataSet,那末,持续;假如喜好利用SqlDataAdapter的,也请持续。不必要任何的改动,一样,在商务逻辑层中,人人只管依照觉得的习气往誊写,也一样不必要改动甚么,好比读数据的时分,不管你前往的是DataSet,仍是你本人界说的一个Array,List,都能够,而带来天崩地裂翻天覆地的变更的,是在用户界面层,小虫常常是做到了在用户界面层的无代码编程(C#大概Basic.Net代码),那末,这是怎样做到的呢?
这里,小虫用一个复杂的例子来加以申明:
我们假定有一个书店的背景办理程序中,必需完成一个书的种别的增添、删除、变动、和查询。关于数据库层来讲,不过是写好这四个存储历程:Insert,Update,Delete,Select,和挪用他们的体例,而在商务逻辑层中,您起首必要界说一个类,好比ClassBookClass,然后分离必要依据四个存储历程分离写出以下四个函数:
ClassBookClass
{
PublicstaticintInsert(…);//增添一个书的种别,乐成前往这本书的ID
PublicstaticboolUpdate(…);//修正一个书的种别,乐成前往true,失利前往flash
PublicstaticboolDelete();//删除一个书的种别,乐成前往true,失利前往flash
PublicstaticDataSetSelect();//查询指定前提下书的种别信息,乐成前往一个DataSet,失利发扬Null.
}
这里有个注重的中央,那就是你函数中的参数名必需和数据库中表的字段名大概存储历程的参数名坚持分歧,而假如是主键,那末参数名必需为:original_<字段名>。
写完了下面的商务逻辑层中关于书的种别的代码,那末,上面就是怎样挪用的成绩了,在传统的Asp.net1.1的开辟过程当中,假如你想增添一个书的种别,那末必需手工填写好Insert(…)函数内里的参数,然后依据前往值来举行处置,那末如今呢?
小虫偷懒的举措来了,呵呵:
小虫在页面上拖一个FormView,在Wizard中的Chosedatasrouce当选择newdatasrouce,然后选择database,,设置ID为ObjData(记住,是DataaSource不是Object,先别问为何),然后,依照提醒一步步的把你一般做sqldatasource的习气界说好必要的字段,最初IDE会主动的把你所必要的格局天生FormView的templatedesign。然后,呵呵,delete失落方才主动加的哪一个SqlDataSource控件(也别问我为何),再然后,拖一个ObjectDataSource过去,把ObjectDataSource的ID改成你方才删撤除的SqlDataSource控件的ID:ObjData,再把选择ObjData的设置导游,选择ConfigureDataSrouce,把它设置为BookClass,然后分离给Select,Insert,delete,update设置你在ClassBookClass中界说的函数,然后,其余也不必要,间接finish,就能够了。假如是Select查询,而又与参数,那末依据响应的条目设置就能够了。再然后,按“F5”运转啊,哈哈,至于页面结构、丑化,那关我甚么事,那是美工的活,我可不克不及越俎代办啊。
祝贺,你的这一段程序完成了,哈哈,无代码编程。由于工夫的干系,小虫再收拾出一段小代码放下去给人人参考。
任意说一下,你固然能够间接用ObjectDataSource来举行设置,每一个响应的字段分离bind你所必要的控件,只是要注重,假如是某个数据表中的主键,那末最好加在FormView大概GradView等的DatKey中,一样,在函数中的变量就必需是original_<字段名>。
一个在Mircosoft年夜树上蛀了几个小洞的虫子
接洽Mail:
代码虫
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。
作者:
柔情似水
时间:
2015-1-21 09:13
在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
作者:
第二个灵魂
时间:
2015-1-30 18:20
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
作者:
再现理想
时间:
2015-2-2 21:55
在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。
作者:
若相依
时间:
2015-2-5 09:13
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
作者:
变相怪杰
时间:
2015-2-10 07:38
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
作者:
不帅
时间:
2015-2-15 22:03
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
作者:
透明
时间:
2015-2-25 08:31
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
作者:
海妖
时间:
2015-3-4 04:41
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
作者:
乐观
时间:
2015-3-5 00:03
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者:
飘飘悠悠
时间:
2015-3-11 21:43
逐步缩小出错代码段的范围,最终确定错误代码的位置。
作者:
金色的骷髅
时间:
2015-3-19 14:30
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
作者:
因胸联盟
时间:
2015-3-22 23:24
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
作者:
兰色精灵
时间:
2015-4-15 19:47
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
作者:
冷月葬花魂
时间:
2015-4-18 06:28
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
作者:
小魔女
时间:
2015-5-8 12:51
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者:
莫相离
时间:
2015-6-7 11:50
逐步缩小出错代码段的范围,最终确定错误代码的位置。
作者:
分手快乐
时间:
2015-6-12 19:21
逐步缩小出错代码段的范围,最终确定错误代码的位置。
作者:
山那边是海
时间:
2015-6-19 15:10
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2