支持SPS的AjaxHelper 0.4,无刷新WebPart开发从此变得简单

AjaxHelper是一个基于Ajax和UserControl的.Net环境下的MVC方案,用以简化asp.net环境下基于Ajax的Web开发,AjaxHelper从0.4版起支持SPS下的WebPart开发,在SPS环境,用一个Ajax.ascx代替普通Asp.Net环境中的的Ajax.aspx,扩展了接口WebPartUpdater和WebPartAppender(参数同Updater和Appender,详见AjaxHelper.js)这就使AjaxHelper成为一个可用于普通asp.net环境和SPS环境的基于Ajax的MVC方案。

关于AjaxHelper的更多背景介绍请参见发布AjaxHelper0.3和AjaxHelperExample2

点击这里下载源码和范例

压缩包内包含了AjaxHelper0.4版和相应的For SPS的范例程序,0.4版完全向上兼容0.3版。

提供的范例演示了WebPartUpdater和WebPartAppender的使用方法

随源代码包含了一个可直接用stsadm部署的cab包,和可直接用于导入WebPart的dwp文件

范例使用方法:

1、复制cab文件和dwp文件到本地目录

2、在命令行执行stsadm -o -addwppack -filename AjaxHelperForSps.cab

3、登录SPS,在修改页面页面点击导入控件,选择dwp文件上载,拖曳列出的控件AjaxHelperSampleWebPart到你需要的位置,关闭页面修改界面

4、此时,WebPart应该已经正常运行了!

-----------------------------------------------------------------
P.S. 马上要换工作单位了,接下来的工作可能会以SPS为主,这是本人的第一个WebPart,发现任何不足的话欢迎执教。关于一个基本的WebPart的开发,参考了博客堂kaneboy的WalkThrough-WebPart系列指南,在此致以由衷的谢意!

另外,在该WebPart的开发测试过程中,也获得了一些经验收获,下面列举一下:

·无论在WebPart中还是在嵌入WebPart的UserControl的后台代码中都不能调用Request.Form[]或Request.Params[],否则会报WebPart错误,所以针对Sps环境,不得不将AjaxHelper原来默认提交的post方式改为get方式,通过Request.QueryString[]取参数

·在WebPart中,默认权限下似乎不能在后台访问外部网站,比如下载远程的一个网页(其实我的范例中原来想放一个简易Rss阅读器,最后总是发生未知原因的错误,所以放弃,怀疑是权限的问题)

再P.S.一下:

因为家里的机器太烂的缘故,我将SPS装在一台台式机,但该机内存太少,不适合在这台机器上再装VS.NET,所以我在笔记本上的VS.NET进行WebPart开发,而笔记本又不愿意装win2003和SPS,那么这种情况下,能不能进行WebPart的单步调试呢,该如何做?望高手指点!

有意加入SPS团队,谁能引荐一下吗?

Enjoy!

//文章结束
0
0
(请您对文章做出评价)
« 上一篇:发布AjaxHelper0.3和AjaxHelperExample2
» 下一篇:AjaxHelper 0.4 Reference
posted @ 2005-06-19 19:53 Teddy's Knowledge Base 阅读(3632) 评论(11)  编辑 收藏 网摘 所属分类: SharePoint, Ajax

  回复  引用  查看    
#1楼2005-06-20 08:13 | 伤心一滴泪      
這些天我正在找SPS的資料,你的SPS是公司購的嗎?我昨天上網找了好久都沒找到下載,衹有至microsoft的網站下載了一個試用版的,下午跑到電腦城也沒找到SPS的光盤.不知道那裡有D版的購.
  回复  引用  查看    
#2楼[楼主]2005-06-20 11:01 | Teddy's Knowledge Base      
我的sps是公司的盘装的,sps是属于office的组件,你可以到卖盗版的地方看看有没有全一点的office组件,也许会包含。
  回复  引用  查看    
#3楼2005-06-20 14:02 | 伤心一滴泪      
我昨天去电脑城找了,卖D版的地方的OFFice都是单蝶装的,根本就没有SPS组件.你的SPS有多大,能不能共享一下.
winlmh(at)5xp.net (at) 改成 @

  回复  引用  查看    
#4楼[楼主]2005-06-20 14:26 | Teddy's Knowledge Base      
一张CD五百多兆,不方便共享呢~~
  回复  引用  查看    
#5楼2005-06-20 15:12 | 伤心一滴泪      
这么大啊,不知道我们公司的FTP 服务器是否可以从外网登入,唉..
  回复  引用  查看    
#6楼2005-06-20 15:17 | 伤心一滴泪      
你的Email是多少
  回复  引用  查看    
#7楼[楼主]2005-06-20 15:20 | Teddy's Knowledge Base      
shijie.ma(at)gmail.com
  回复  引用  查看    
#8楼2005-06-20 15:29 | 伤心一滴泪      
已将FTP帐号发给你,希望你能帮个忙,谢谢了
  回复  引用  查看    
#9楼2005-06-20 18:23 | 雪叶丹枫      
关于你提到的两个经验有点建议:
1 无论在WebPart中还是在嵌入WebPart的UserControl的后台代码中都不能调用Request.Form[]或Request.Params[],否则会报WebPart错误,所以针对Sps环境,不得不将AjaxHelper原来默认提交的post方式改为get方式,通过Request.QueryString[]取参数

这个问题在我的Blog中有描述如何使用Post方法,你可以参考看看(http://www.cnblogs.com/xqyi/archive/2005/06/20/177876.html)

2 在WebPart中,默认权限下似乎不能在后台访问外部网站,比如下载远程的一个网页(其实我的范例中原来想放一个简易Rss阅读器,最后总是发生未知原因的错误,所以放弃,怀疑是权限的问题)

默认情况下,在SPS站点中访问外部网站需要设置IE浏览器的安全设置,操作步骤:IE-工具-选项-安全-本地Intranet-自定义级别-将“跨域访问数据源”设置为允许,也许还要将“跨域浏览子框架”设置为允许。因为SPS通常用来做内网Portal,所以微软的推荐做法是将SPS站点加为客户端的可信任站点(在可信任站点中默认设置这两项都是允许)

  回复  引用  查看    
#10楼[楼主]2005-06-20 18:26 | Teddy's Knowledge Base      
非常感谢 雪叶丹枫 的指点!
  回复  引用    
#11楼2009-09-14 23:03 | ***[未注册用户]
***