- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DataForm Web Part中的数据垄断
DataForm Web Part中的数据垄断
[SharePoint Designer-3]DataForm Web Part中的数据垄断
上次我们推荐了一些DataForm的大约的观念[SharePoint Designer-2]DataForm Web Part解析。在你的SharePoint项目中,不管项目大还是小,有时候能够琢磨用DataForm来轮换编写Web Part来创立一些版面,尤其是揭示所有列表以及列表揭示的版面。从开发工夫上看,利用DataForm不比你独自写一个数据揭示交互的Web Part来的工夫长,维护与安排甚至会比Web Part来得容易。DataForm利用XSLT举行数据转换揭示还是比拟灵便的,也易于改换款式,同时DataForm也能够举行各种的数据交互。下?*彝萍鲆幌吕?肈 ataForm我们能够做哪些数据的交互垄断,渴望能够给大家一些启迪。
1、客户端中对DataForm中数据的垄断
说到这个等闲是指对列表修建和编辑的DataForm中数据的垄断,我们懂得在编辑和修建DataForm中,只有形如:
SharePoint:FormField runat=serverid=ff2{$Pos}ControlMode=NewFieldName=Title__designer:bind={ddwrt:DataBind(i,concat(ff2,$Pos),Value,ValueChanged,ID,ddwrt:EscapeDelims(string(@ID)),@Title)}/
的FormField种类的SharePoint的WebControl才被最后的数据提交垄断分辨,并提交,而且,万一在版面上统一个字段有多个FormField Control的话,最后提交的数据是版面自上到下最后一个FormField的值。
因而,我们等闲即方便用Javascript来垄断FormField在客户端生成的HTML标签,这些标签是有一些规律的,SharePoint Designer的Team Blog里面有一篇文章翔实推荐了如何利用Javascript来垄断这些字段控件:Using Javascript to Manipulate aList Form Field
万一我们能够垄断这些字段控件,对这些字段控件生成的HTML标签值举行赋值修正的话,我们能够隐藏原本生成的控件标签,利用自己的编辑控件,然后,在提交前,把用户编辑的值赋给隐藏的DataForm提交时能分辨的字段控件标签,就能够告终比拟深入的编辑修建版面的定制了。
其实,在这种情形下,我们相当于只把DataForm作为提交数据的一个载体了。
2、提交数据到服务器端
DataForm中与服务器端的数据交互大约是由http:///WebParts/v2/DataView/runtime这个名目空间下(等闲在DataForm的XSLT中以ddwrt揭示)ddwrt:GenFireServerEvent(string EventString)措施来告终。其实原理很容易ddwrt:GenFireServerEvent这个措施解析出来尔后是__dopostback()措施,会引发Postback,把EventString作为Postback的参数,然后DataForm会依据EventString处理相应的数据提交垄断。
例如,万一你在DataForm利用了一个a href=javascript:{ddwrt:GenFireServerEvent(__commit;__refresh;)}Submit/a来向服务器端做一个提交垄断,在客户端揭示的时候这个串就被解析成了a href=javascript:__doPostBack(ctl00$m$g_18a01f88_4df1_41ef_abef_151d51648f2c,__commit);Submit/a,前局部ctl00$m$g_18a01f88_4df1_41ef_abef_151d51648f2c是DataForm Web Part的ID,后面的即便事件的参数,__doPostBack的措施在每个版面你都能够穿越察看源文件看到这个措施,它干的事情即便提交版面。
GenFireServerEvent能够穿越__dopostback向服务器提交任何参数,DataForm能够分辨的一些特定的参数包括:
1)__commit;所有的数据提交都要包括这个参数。DataForm会依据目前的形式举行提交垄断,万一目前是Listform形式,就会把数据提交到列表中去。万一是Table形式,就确认对DataForm的其他垄断。说白了,所有的修建,修正,剔除都必需加上这个参数能力见效。
2)__refresh;刷新版面
3)__
原创力文档


文档评论(0)