ASP.NET AJAX部分呈现是否可以在SharePoint 2007应用程序页面内工作?

时间:2008-08-06 04:20:42

标签: ajax sharepoint

我有一个包含ScriptManagerUpdatePanel的简单页面,而我的ContentTemplate有一个ListBox和一个标签。我只是想抓住它OnSelectionChanged,以便我可以更新Label中的文字。无论我尝试调整什么设置,我总是得到整页回发。

这真的不起作用,还是我只是搞砸了?

6 个答案:

答案 0 :(得分:2)

您需要拥有Sharepoint 2007 Service Pack 1 - 否则就没有机会了。 (Sharepoint 2007早于ajax 1.0 - 他们在服务包1中建立了一些支持)

接下来,从故障排除的角度来看,测试完全相同的代码在常规asp.net页面中托管时的功能如预期。 (直接将代码复制并粘贴到新页面中,以排除任何印刷错误)。在问题区域内外的执政共享点将有助于缩小解决方案空间。

答案 1 :(得分:2)

如果您安装了SharePoint 2007(没有Service Pack 1),那么您可以按照以下文章中的示例进行操作:

AjaxBasePart: Easy ASP.NET 2.0 AJAX Extensions 1.0 and Office SharePoint Server 2007

原因是混合doPostback,UpdatePanel和SharePoint时存在特定问题 - 症状正是您所看到的:整页回发而不是异步回发。有关解决方法,请参阅此知识库文章:A Web Part that contains an ASP.NET AJAX 1.0 UpdatePanel control that uses the _doPostBack() ...

否则,您只需安装Service Pack 1即可解决问题:

Windows SharePoint Services 3.0 Service Pack 1 (SP1)

答案 2 :(得分:0)

混合doPostback,UpdatePanel和SharePoint存在一个特定问题 - 症状正是您所看到的:整页回发而不是异步回发。有关解决方法,请参阅此知识库文章:http://support.microsoft.com/kb/941955

答案 3 :(得分:0)

Mindsharp的Todd Bleeker向我展示了他编写的一段可以在Sharepoint 2.0上使用Ajax的代码。这很酷。如果你想看一下,我相信公司在他们的sharepoint网站管理软件上使用它。 (您以前可以申请30天的试用期)。我打赌如何做到这一点是在他们的雅虎集团(我不记得名字,但我相信如果你搜索mindsharp你会找到它。)

作为一个说明,Ajax已经存在了很长时间。自2002年以来,微软很容易支持它,可能在IE 5.5发布之前(我不知道其他浏览器,我在做内部开发,我们只支持当时)。它只是没有被称为。 Ajax一词只不过是某个人后来创造的营销术语。

答案 4 :(得分:0)

获取SharePoint 2007的最新Service Pack将解决您的问题(并添加对AJAX的完全支持)。如果没有Service Pack,您将需要按照本文中概述的示例进行操作:

AjaxBasePart: Easy ASP.NET 2.0 AJAX Extensions 1.0 and Office SharePoint Server 2007

发布此声音,以便人们知道即使没有最新的服务包也有答案(secretGeek的回应似乎表示没有机会)。

答案 5 :(得分:0)

从技术角度来看,Service Pack 1 添加对ASP.NET AJAX的完全支持。您仍然需要使用前面答案中提到的各种文章中描述的变通方法。

特别是,您需要确保已更新SharePoint Web应用程序的web.config文件以支持适当版本的ASP.NET AJAX Extentions。

web.config尚未更新的事实很可能是原始问题中描述的问题的原因。