ASPNET五大数据控件ptp.docx

上传人:jix****n11 文档编号:62692961 上传时间:2022-11-22 格式:DOCX 页数:29 大小:87.16KB
返回 下载 相关 举报
ASPNET五大数据控件ptp.docx_第1页
第1页 / 共29页
ASPNET五大数据控件ptp.docx_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《ASPNET五大数据控件ptp.docx》由会员分享,可在线阅读,更多相关《ASPNET五大数据控件ptp.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Evaluation Warning: The document was created with Spire.Doc for .NET.数据绑定控控件比较 (ReaapterrDattaLisstGrridViiewDDataiilsViiewFFormVView):1.插入功功能方面:DetaiilsViiew和FFormVView具具有插入功功能,其它它控件没有有2.模板DataLListFormmViewwReppeateer三种必必须编辑模模板,而GridVView和和DetaailsVView只只有在将列列转换成模模板列以后后才会出现现各种模板板.3.自动分分页功能GridVVie

2、w ,DettailssVieww和ForrmVieew都是22.0版本本新增控件件,内置了了分页,排排序等等功功能,其他需要手手工定义4.数据呈呈现方式:GridVView,DataaListt,Reppeatoor用于呈呈现多列数数据,DetaiilsViiew,FFormVView用用于呈现单单列数据,即常用的的数据明细细. DataLList和和Reappter都都需要编辑辑模板列,而而在模板列列当中可以以添加TeextBoox,同时时可以指定定TexttBox的的ID从而而实现提取取用户输入入的值,但但是DattaGriid和GrridViiew两个个件是不需需要编辑模模板的,它它的

3、编辑功功能是自动动生成的我我们无法知知道那些文文本框的IID,也就就无法通过过ID来获获取用户的的输入,那那么可以通通过对单元元格的引用用来实现:privaate vvoid DataaGridd1_UppdateeCommmand(objeect ssourcce,xxx) sstrinng bkkid=DDataGGrid11.DattaKeyyse.Itemm.IteemInddex.toSttringg();/提取主主键 sstrinng bkktitlle=(TexttBox)e.Ittem.CCellss1.Conttrolss0).Texxt;/提取用户户的输入一.进入编编辑状态

4、:DataLList11.EdiitIteemInddex = e.IItem.ItemmIndeex;DataGGrid11.EdiitIteemInddex = e.IItem.ItemmIndeex;GridVView11.EdiitInddex = e.NNewEdditInndex;DetaiilsViiew1.ChanngeMoode(DDetaiilsViiewMoode.EEdit);/进进入编辑状状态DetaiilsViiew1.ChanngeMoode(DDetaiilsViiewMoode.RReadOOnly);/退退出编辑状状态二.设置主主键:DataLList11.

5、DattaKeyyFielld = bkiid;DataGGrid11.DattaKeyyFielld = bkiid;strinng str=bkkid;GridVView11.DattaKeyyNamees = str;三.提取主主键:strinng bkkid = DattaLisst1.DDataKKeyse.Ittem.IItemIIndexx.TooStriing();/DDataLListstrinng bkkid = DattaGriid1.DDataKKeyse.Ittem.IItemIIndexx.TooStriing();/DDataGGridstrinng bkkid

6、= GriidVieew1.DDataKKeyse.RoowInddex.Valuue.TooStriing();/GGridVViewstrinng bkkid = DettailssVieww1.DaataKeey0.ToSStrinng();四.查找控控件:strinng bkktitlle = (TeextBoox)e.Itemm.FinndConntroll(txxtTille).Texxt;/DataaListtstrinng bkktitlle = (TeextBoox)e.Itemm.Cellls11.Coontrools00).TText;/DaataGrridstrinng

7、 bkktitlle = (TeextBoox)GrridViiew1.Rowsse.RRowInndex.Cellls11.Coontrools00).TText;strinng bkktitlle = (TeextBoox)DeetaillsVieew1.RRows1.CCellss1.Conttrolss0).Texxt;注意查找控控件有两种种方法:(各数据绑绑定控件的的都可以用用下面两种种方法进行行查找)1.如果知知道控件的的ID可以以用这种方方法(TexxtBoxx)e.IItem.FinddConttrol(txttTilee).Textt;/这这是查找2.如果不不知道控件件的ID

8、可可用这种方方法(TexxtBoxx)e.IItem.Cellls1.Conntrolls0).Teext;/这是索索引五.给删除除按钮添加加确认:proteectedd voiid DaataLiist1_ItemmDataaBounnd(obbjectt sennder, DattaLisstIteemEveentArrgs ee) if (e.Ittem.IItemTType = LListIItemTType.Itemm | e.Ittem.IItemTType = LListIItemTType.AlteernattingIItem) LinkkButtton llbtn =(Lii

9、nkBuuttonn) e.Itemm.FinndConntroll(lbbtndeeletee); lbtnn.Atttribuutes.Add(OnCClickk,rreturrn coonfirrm(确定要删删除吗?); proteectedd voiid DaataGrrid1_ItemmDataaBounnd(obbjectt sennder, DattaGriidIteemEveentArrgs ee) if(ee.Iteem.IttemTyype=ListtItemmTypee.Iteem | e.IItem.ItemmTypee=LiistIttemTyype.AAlterrn

10、atiingIttem) LinkkButtton llbtn = (LLinkBButtoon)e.Itemm.Cellls33.Coontrools00; lbtnn.Atttribuutes.Add(OnCClickk,rreturrn coonfirrm(确认删除除?); proteectedd voiid GrridViiew1_RowDDataBBoundd(objject sendder, GriddViewwRowEEventtArgss e) if(ee.Roww.RowwTypee= DDataCContrrolRoowTyppe.DaataRoow) striing ss

11、tridd = ee.Roww.Cellls00.Teext;/获取第第一行的字字段值; e.Roow.Ceells3.AAttriibutees.Addd(OOnCliick, reeturnn connfirmm(确认删除除+striid+?); /用了了两个转义义符将第一一列的值用用引号括起起来,注意意转义符后后面一个将将不被解释释,是直接接放上去; ASP.NNET 程程序中常用用的三十三三种代码(1) 1. 打打开新的窗窗口并传送送参数:传送参数数: reesponnse.wwritee(sscripptwiindoww.opeen(*.ASPPx?idd=+tthis.DroppD

12、ownnListt1.SeelecttIndeex+&id1=+.+)/sscrippt) 接接收参数: strring a = Requuest.QuerryStrring(id); sstrinng b = Reequesst.QuuerySStrinng(iid1); 2.为按按钮添加对对话框 BButtoon1.AAttriibutees.Addd(ooncliick,retturn conffirm(确认?); buuttonn.atttribuutes.add(oncclickk,iif(coonfirrm(aare yyou ssure.?)rreturrn trrue;else

13、eretturn falsse;) 3.删除除表格选定定记录 iint iintEmmpID = (iint)MMyDattaGriid.DaataKeeysee.Iteem.IttemInndex; sttringg delleteCCmd = DEELETEE froom Emmployyee wwheree empp_id = + inntEmppID.TToStrring() 4.删除除表格记录录警告prrivatte vooid DDataGGrid_ItemmCreaated(Objeect ssendeer,DaataGrridIttemEvventAArgs e) swwitc

14、hh(e.IItem.ItemmTypee) ccase ListtItemmTypee.Iteem : caase LListIItemTType.AlteernattingIItem : casee LisstIteemTyppe.EdditIttem: TTableeCelll myTTableeCelll; myTTableeCelll = ee.Iteem.Ceells14; LinkkButtton mmyDelleteBButtoon ; mmyDelleteBButtoon = (LinnkButtton)myTaableCCell.Conttrolss0; myDeelete

15、eButtton.AAttriibutees.Addd(ooncliick,retturn conffirm(您是否否确定要删删除这条信信息);); bbreakk; defaault: breaak; 5.点击表格格行链接另另一页prrivatte vooid ggrdCuustommer_IItemDDataBBoundd(objject sendder, Systtem.WWeb.UUI.WeebConntrolls.DaataGrridIttemEvventAArgs e) /点击表格格打开 if (e.Ittem.IItemTType = LListIItemTType.Itemm

16、e.IItem.ItemmTypee = ListtItemmTypee.AltternaatinggItemm) e.Ittem.AAttriibutees.Addd(ooncliick,winndow.openn(Deefaullt.asspx?iid= + e.Itemm.Cellls00.Teext + );); 双双击表格连连接到另一一页 在iteemDattaBinnd事件中中 if(e.Ittem.IItemTType = LListIItemTType.Itemm e.IItem.ItemmTypee = ListtItemmTypee.AltternaatinggItemm)

17、 sttringg OrdderIttemIDD =e.itemm.cellls11.Teext; . e.itemm.Atttribuutes.Add(onddblcllick, llocattion.hreff=./ShiippeddGridd.asppx?idd= + OrdderIttemIDD + ); ASP.NNET 程程序中常用用的三十三三种代码(2) 双双击表格打打开新一页页 if(e.Ittem.IItemTType = LListIItemTType.Itemm e.IItem.ItemmTypee = ListtItemmTypee.AltternaatinggItem

18、m) strring OrdeerIteemID =e.iitem.cellls1.Texxt; . e.iitem.Attrributtes.AAdd(ondbblcliick, oppen(./SShipppedGrrid.aaspx?id= + OOrderrItemmID + ); 6.表表格超连接接列传递参参数assp:HyyperLLinkCColummn Taargett=_bblankk heeaderrtextt=IDD号 DDataTTextFFieldd=idd NaavigaateUrrl=aaaa.aaspx?id= %# DaataBiinderr.Evaal(Co

19、ontaiiner.DataaItemm, 数数据字段11)% & namee=%# DaataBiinderr.Evaal(Coontaiiner.DataaItemm, 数数据字段22)% / 77.表格点点击改变颜颜色if (e.IItem.ItemmTypee = ListtItemmTypee.Iteem e.Itemm.IteemTyppe = LisstIteemTyppe.AllternnatinngIteem) e.Itemm.Atttribuutes.Add(oncclickk,tthis.stylle.baackgrrounddColoor=#99ccc00; thiss

20、.styyle.ccolorr=buuttonntextt;thhis.sstylee.currsor=deffaultt;); 写在在DataaGridd的_IttemDaataBoound里里 if (e.IItem.ItemmTypee = ListtItemmTypee.Iteem e.Itemm.IteemTyppe = LisstIteemTyppe.AllternnatinngIteem) e.IItem.Attrributtes.AAdd(onmoouseoover,thhis.sstylee.bacckgrooundCColorr=#999cc000; tthis.styll

21、e.coolor=butttonttext;thiis.sttyle.curssor=defaault;); e.IItem.Attrributtes.AAdd(onmoouseoout,thiis.sttyle.backkgrouundCoolor=;tthis.stylle.coolor=;); 8.关关于日期格格式日日期格式设设定 DaataFoormattStriing=0:yyyyy-MM-ddd 我觉觉得应该在在itemmbounnd事件中中 e.iitemss.celll你你的列.texxt=DaateTiime.PParsee(e.iitemss.celll你你的列.texxt

22、.TooStriing(yyyyy-MM-dd) 9.获取取错误信息息并到指定定页面不要使用用Respponsee.Reddirecct,而应应该使用SServeer.Trransffer e.gg / in gglobaal.assax pproteectedd voiid Apppliccatioon_Errror(Objeect ssendeer, EEventtArgss e) iff (Seerverr.GettLasttErroor() is HHttpUUnhanndleddExceeptioon) SServeer.Trransffer(MyErrrorPPage.aspxx)

23、; /其余余的非HtttpUnnhanddledEExcepptionn异常交给给ASP.NET自自己处理就就okayy了 :) Reddirecct会导致致posttbacck的产生生从而丢失失了错误信信息,所以以页面导向向应该直接接在服务器器端执行,这这样就可以以在错误处处理页面得得到出错信信息并进行行相应的处处理 10.清清空CoookieASP.NNET 程程序中常用用的三十三三种代码(3) Cookkie.EEXPirees=DDateTTime; Reesponnse.CCookiies(UserrNamee).EExpirres = 0 11.自定义异异常处理/自定义义异常处理理

24、类 ussing Systtem; usinng Syystemm.DiaagnosstiCSS; nammespaace MMyApppExceeptioon / suummarry / 从系统异异常类ApppliccatioonExcceptiion继承承的应用程程序异常处处理类。 / 自动将将异常内容容记录到WWindoows NNT/20000的应应用程序日日志 / /summmaryy ppubliic cllass AppEExcepptionn:Sysstem.AppllicattionEExcepptionn puublicc ApppExceeptioon() iif (AA

25、ppliicatiionCoonfiggurattion.EvenntLoggEnabbled)LogEEventt(出现现一个未知知错误。); publlic AAppExxcepttion(striing mmessaage) LoggEvennt(meessagge); ppubliic ApppExcceptiion(sstrinng meessagge,Exxcepttion inneerExcceptiion) LoggEvennt(meessagge); iff (innnerEExcepptionn != nulll) LoggEvennt(innnerEExcepptionn

26、.Messsagee); /日志记记录类 usinng Syystemm; uusingg Sysstem.Conffigurratioon; usinng Syystemm.Diaagnossticss; uusingg Sysstem.IO; usiing SSysteem.Teext; usiing SSysteem.Thhreadding; naamesppace MyEvventLLog / summmaryy / 事件日志志记录类,提提供事件日日志记录支支持 / remmarkss / 定义了44个日志记记录方法 (errror, warnning, inffo, ttracee)

27、 / /reemarkks / /ssummaary puublicc claass AAppliicatiionLoog / suummarry / 将错错误信息记记录到Wiin20000/NTT事件日志志中 / paaram namee=meessagge需需要记录的的文本信息息/paaram / /suummarry puublicc staatic voidd WriiteErrror(Striing mmessaage) WriiteLoog(TrraceLLevell.Errror, messsage); / ssummaary / 将将警告信息息记录到WWin20000/NNT事

28、件日日志中 / pparamm namme=mmessaage需要记录录的文本信信息/pparamm / /ssummaary ppubliic sttaticc voiid WrriteWWarniing(SStrinng meessagge) WritteLogg(TraaceLeevel.Warnning, messsagee); ASP.NNET 程程序中常用用的三十三三种代码(4) / summmary / 将提示信信息记录到到Win22000/NT事件件日志中 / paraam naame=messsage需要记记录的文本本信息/paraam / /summmary publlic

29、 sstatiic vooid WWriteeInfoo(Strring messsage) WrriteLLog(TTraceeLeveel.Innfo, messsage); / ssummaary / 将将跟踪信息息记录到WWin20000/NNT事件日日志中 / pparamm namme=mmessaage需要记录录的文本信信息/pparamm / /ssummaary ppubliic sttaticc voiid WrriteTTracee(Strring messsage) WrriteLLog(TTraceeLeveel.Veerbosse, mmessaage); / su

30、ummarry / 格式式化记录到到事件日志志的文本信信息格式 / paraam naame=ex需要格式式化的异常常对象/paraam / pparamm namme=ccatchhInfoo异常常信息标题题字符串./paaram / rettvaluue / ppara格式后的的异常信息息字符串,包包括异常内内容和跟踪踪堆栈./parra / /retvvaluee / /ssummaary ppubliic sttaticc Strring FormmatExxcepttion(Exceeptioon exx, Sttringg cattchInnfo) StrringBBuildder

31、 sstrBuuildeer = new StriingBuuildeer(); if (cattchInnfo != Sttringg.Emppty) sstrBuuildeer.Apppendd(cattchInnfo).Appeend(rnn); sttrBuiilderr.Apppend(ex.MMessaage).Appeend(rnn).AAppennd(exx.StaackTrrace); reeturnn strrBuillder.ToSttringg(); / summmaryy / 实际事事件日志写写入方法 / paraam naame=leveel要要记录信息息的级别(e

32、errorr,warrningg,inffo,trrace)./pparamm / paaram namee=meessaggeTexxt要要记录的文文本./paraam / /summmary privvate stattic vvoid WritteLogg(TraaceLeevel leveel, SStrinng meessaggeTexxt) try EEventtLogEEntryyTypee LoggEntrryTyppe; swittch (leveel) casee TraaceLeevel.Erroor: LoogEnttryTyype = EveentLoogEnttry

33、Tyype.EErrorr; breeak; caase TTraceeLeveel.Waarninng: LoogEnttryTyype = EveentLoogEnttryTyype.WWarniing; bbreakk; casee TraaceLeevel.Infoo: LoggEntrryTyppe = EvenntLoggEntrryTyppe.Innformmatioon; brreak; ccase TracceLevvel.VVerboose: LLogEnntryTType = EvventLLogEnntryTType.SUCcesssAuddit;ASP.NNET 程程

34、序中常用用的三十三三种代码(5) brreak; ddefauult: LLogEnntryTType = EvventLLogEnntryTType.SucccessAAuditt; breeak; EvenntLogg eveentLoog = new EvenntLogg(Apppliccatioon, AppllicattionCConfiiguraationn.EveentLoogMacchineeNamee, ApppliccatioonConnfiguuratiion.EEventtLogSSourcceNamme ); /写入事件件日志 evenntLogg.WriiteEnn

35、try(messsageTText, LoggEntrryTyppe); cattch /忽略任何何异常 /classs ApppliccatioonLogg 12.Paneel 横向向滚动,纵纵向自动扩扩展assp:paanel stylle=ooverfflow-x:sccrolll;oveerfloow-y:autoo;/aspp:pannel 133.回车转转换成Taabsccriptt lannguagge=JJavasscrippt ffor=docuumentt evvent=onkkeydoown iff(eveent.kkeyCoode=13 & evvent.srcEEle

36、meent.ttype!=buuttonn & eveent.ssrcEllemennt.tyype!=subbmit & evennt.srrcEleementt.typpe!=reseet & evvent.srcEElemeent.ttype!=& evvent.srcEElemeent.ttype!=teextarrea); eveent.kkeyCoode=99; /scriipt onkeeydowwn=iif(evvent.keyCCode=13) eveent.kkeyCoode=99 14.DDataGGrid超超级连接列列ataNNaviggateUUrlFiield=字段

37、名名 DaataNaavigaateUrrlForrmatSStrinng=hhttp:/xxx/incc/dellete.aspxx?ID=0 115.DaataGrrid行随随鼠标变色色privvate voidd DGzzf_IttemDaataBoound(objeect ssendeer, SSysteem.Weeb.UII.WebbConttrolss.DattaGriidIteemEveentArrgs ee) if (e.IItem.ItemmTypee!=LiistIttemTyype.HHeadeer) ee.Iteem.Atttribbutess.Addd( oonmou

38、useouut,thiss.styyle.bbackggrounndCollor=+ee.Iteem.SttyleBACCKGROOUND-COLOOR+); e.IItem.Attrributtes.AAdd( onmmouseeoverr,tthis.stylle.baackgrrounddColoor=+ #EFFF3F7+); 166.模板列列ASPP:TEMMPLATTECOLLUMN visiible=Fallse sorttexprressiion=demoo heeaderrtextt=IDD ITEMMTEMPPLATEE AASP:LLABELL texxt=%# DDat

39、aBBindeer.Evval(CContaainerr.DattaIteem, ArtiicleIID)% rrunatt=seerverr wiidth=80% idd=lbblCollumn / /ITTEMTEEMPLAATE ASP.NNET 程程序中常用用的三十三三种代码(6) /ASPP:TEMMPLATTECOLLUMN ASSP:TEEMPLAATECOOLUMNN heaaderttext=选中 HHEADEERSTYYLE wwrap=Fallse horiizonttalallign=Cennter/HHEADEERSTYYLE ITEEMTEMMPLATTE ASP:

40、CHECCKBOXX id=chkkExpoort runaat=sserveer / /ITEMMTEMPPLATEE EEDITIITEMTTEMPLLATE ASSP:CHHECKBBOX iid=cchkExxporttON runaat=sserveer eenablled=truee / /EEDITIITEMTTEMPLLATE /AASP:TTEMPLLATECCOLUMMN 后台代代码 prroteccted voidd CheeckAlll_ChheckeedChaangedd(objject sendder, Systtem.EEventtArgss e) /改变列的的选定,实实现全选或或全不选。 ChheckBBox cchkExxportt ; if( ChecckAlll.Cheeckedd) fforeaach(DData

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁