|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?小虫团体以为,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却不习惯了。 |
|