文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ASP.NET 2.0中数据绑定方法 -

ASP.NET 2.0中数据绑定方法 -

时间:2010-09-04  来源:蔚蓝的大海

 

  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 子句,比如:


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

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


  强类型数据集通过在高级选项上选中开放式并发的选钩可以自动生成这样的命令。根据我们第2点的论述,只需在GirdView的DatakeyNames属性中把所有的字段都加进去,这样就会自动的把旧的值放进老值集合中,满足数据源的要求。由此,我们可以理解为什么DataGrid的DataKeyField(单数)属性会被替换为DataKeyNames属性(复数)。
 


broadband wireless n routerxbox 360 games 1080pinstalling nvidia video cardcable hdmi 5 metreyellow gold pearl ringconnect my computer my hdtv650w psu reviewmemory palaceswii hd versionbest graphics card after effectsspeaker wire radio shackceiling mount speakersusb 2 driverwindows xp sp3 network installignition wiring harnessactive directory schema exchange 2007belkin wireless router drivercompare cable broadbandlaptop modem cardsnetwork adapters missing network connectionsvga switcher audiofujitsu siemens v5515 driverswii nunchuck adapterchange eye colour gimp 2lg vx5400 usb cablebest wallpapertruemobile 1150 mini pci cardradio shack cable modemhome bloglaptop hub blogset up ethernet connectionfood network recipe searchnvidia hdmi video cardwii internet connection settingsdigital camera sale nzusb portable hard drivexbox 360 arcade setupgreat laptopshp mediasmart software downloadvideo game hardware reviewsdi novo mini reviewcat 6e connectorsis my tv hd readyroad runner driving school langleyibook video adapterapple spreadsheet softwarepcmcia esatahp docking stationuse clean plasma tv screenoverclocking pci e bus

Replica lv Hangbags

Replica Hangbags

Hangbags

replica handbags

replica handbags

replica handbags

replica handbags

replica handbags

bags

handbags

handbags

replica handbags

replica handbags

replica handbags

usb cable

usb cable

usb cable

usb cable

usb cable

usb flash drives

usb flash drives

usb flash drives

usb flash drives usb flash drives usb flash drives usb flash drives usb flash drives usb flash drives
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载