首页 > 资讯 > 网站设计
超简单实现 .NET开发类似Web Parts的功能
发布时间:2008-06-27   浏览次数:1150522
超简单实现 .NET开发类似Web Parts的功能 微软推出SharePoint03 ,SharePoint07以来,一个新的技术Web Parts也随着推出来了。刚一接触到这个东西,作为了一个开发人员,感到十分的好奇,这虽然算不上一次技术上的革命,但对用户的体验来讲,却是一个实实在在的好东东,能给使用的用户带来使用软件的幸福感,自在感。一句话,真是太棒了! 看了很多软件已经实现了这个功能,像google这种大公司也早实现了这种功能,还有许多其它公司也实现了类似的功能。最近我们在做E8.HelpDesk For ITSM产品,这样的好东西怎么能放过了。。。 Web Parts的实现有多种方式,由于对.Net 2.0的Web Parts不是很熟,我们用最方便快捷的javascrpt脚本来实现,实现的原理是用Iframe,用户可以自定义自己的桌面,每个Iframe里可以放入一个网页地址,具体要放什么网页,我们可以做一个管理界面,加一个自定义桌面表,可以根据自己的需要,不断的延伸这个功能,做到非常的灵活,强大,这里面有用的XmlHttp技术,让用户自定义自已的桌面时,休验到快速的效果,的效果,类似于google的定义功能。现在把实现的脚本代码贴出来,与大家共享,共同进步。 // Input 0/*** get element* document.getElementById的封装 * 如果浏览器不支持getElementById方法则返回null*/function _getElementById(a){return document.getElementById?document.getElementById(a):null}/*** get elements tag name* document.getElementsByTagName的封装 * 根据tagName返回数组,*返回所有tag。 * 如果浏览器不支持getElementsByTagName方法,则返回空数组 */function _getElementsByTagName(a){return document.getElementsByTagName?document.getElementsByTagName(a):new Array()} //标志浏览器是否为Safarivar isSafari=navigator.userAgent.indexOf("Safari")>=0; /*** 一个标准的colArrayAX替换页面内容典范* 变量a为地址,aa为回掉处理函数 */function _sendXMLRequest(theURL,aa){var xmlHttpObj=getXMLHttpObj();if(!xmlHttpObj||isSafari&&!aa){//特殊浏览器特殊照顾 (new Image()).src=theURL;}else{//正常的浏览器,用XMLHTTP显示内容xmlHttpObj.open("GET",theURL,true);xmlHttpObj.setRequestHeader( "CONTENT-TYPE ", "application/x-www-form-urlencoded "); xmlHttpObj.send(null);}}/*** 拿到一个可用的XMLHttpRequest对象*/function getXMLHttpObj(){var a=null;if(window.ActiveXObject){a=new ActiveXObject("Msxml2.XMLHTTP");if(!a){a=new ActiveXObject("Microsoft.XMLHTTP");}}else if(window.XMLHttpRequest){a=new XMLHttpRequest();}return a;} function _del(a){msg="确认不在桌面上显示该模块么?\n\n您可以通过自定义桌面恢复显示!"; if(window.confirm(msg)) { var module=_getElementById("module_"+a); if(module) module.style.display="none"; aI();}return false} /*** 查找CSS,将class名字为a的aa自段定义值为ab* 例如setCSSAttrib("medit","display", "none");* 则代表将.media的display定义为none**/function setCSSAttrib(clasName,attrName,attrValue){if(document.styleSheets){//浏览器有styleSheets,查找CSS列表并修改 clasName="."+clasName;for(var i=0;i
业务咨询

Copyright 2003 - 2023 huinet.cn All Rights Reserved.
慧网公司 版权所有