全国服务热线:4008-888-888

行业新闻

在ASP.NET 2.0中数据信息关联的完成方式

P> 在ASP.NET 1.x时,DataGrid等控制应用DataBinder.Eval(Container.DataItem, quot;ColumnName quot;)那样的表述式能够将数据信息源中的数据信息关联到控制上,但其实不能在升级数据信息时全自动将控制中的新值取下,升级回数据信息库。因此ASP.NET 2.0中的数据信息关联分成二种:单边数据信息关联(即表述式或ReadOnly设成True的BoundField,只出示从数据信息源到控制的数据信息关联)和双重数据信息关联(,不仅能够将数据信息从数据信息源关联到控制," />
1、为何ASP.NET 2.0中的数据信息关联控制不用敲代码就可以进行升级、删掉、在建等数据信息实际操作?


在ASP.NET 1.x时,DataGrid等控制应用DataBinder.Eval(Container.DataItem, ColumnName )那样的表述式能够将数据信息源中的数据信息关联到控制上,但其实不能在升级数据信息时全自动将控制中的新值取下,升级回数据信息库。因此ASP.NET 2.0中的数据信息关联分成二种:单边数据信息关联(即表述式或ReadOnly设成True的BoundField,只出示从数据信息源到控制的数据信息关联)和双重数据信息关联(,不仅能够将数据信息从数据信息源关联到控制,并且能够在实际操作数据信息时将控制中的数据信息出示给数据信息源控制),因此ASP.NET 2.0实际操作数据信息时也不必须写很多e.Item.FindControl()那样的编码了。


2、在Update和Insert全过程中,GridView/DetailsView/FormView是怎样把值传送给数据信息源控制,便于数据信息源控制进行数据信息实际操作方式的启用的?


升级时,GridView会出示两个值给数据信息源控制,一套新值,汇聚全部ReadOnly不以True的列的值和模版中常有表述式的值,另外一套旧的值,则从当今行相匹配的DataKey中得到(DataKey的值在关联数据信息时便会被GridView储存到主视图情况中),能够在GridView的Updating恶性事件解决程序看出到这一特点。旧的那套值出示给数据信息源控制后,它的Key会被数据信息源控制依据OldValuesParameterFormatString重新命名。例如,GridView中的DataKeyNames设成ProductID,数据信息源控制的OldValuesParameterFormatString为original_{0},那麼GridView在升级时发送给数据信息源控制的主要参数中便会有一个original_ProductID。


新的那套值和老的那套值合起來要恰好和数据信息源控制必须的主要参数目录相符合,不可以多都不能少,它是新手应用GridView升级数据信息时碰到数最多的难题。


具体应用全过程中假如主键列相匹配的主要参数(例如,ProductID),沒有像Strong named Dataset那般取名字为original_ProductID,则必须变更数据信息源的OldValuesParameterFormatString,例如改为{0},那样才可以和完成方式的主要参数相匹配起來。


3、怎样完成对外开放式高并发?


对外开放式高并发的升级和删掉句子会出现一个较长的where 子句,例如:


update Table1 set Column1 = @Column1 , Column2 = @Column2 where ID = @original_ID and Column1 = @orignal_Column1 and Column2 = @original_Column2。


强种类数据信息集根据在高級选择项上选定对外开放式高并发的选钩能够全自动转化成那样的指令。依据大家第二点的阐述,只需在GirdView的DatakeyNames特性中把全部的字段名都加进,那样便会全自动的把旧的值放入老值结合中,考虑数据信息源的规定。从而,大家能够了解为何DataGrid的DataKeyField(奇数)特性会被更换为DataKeyNames特性(复数)。

河源企业网站建设



在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服