我有一個簡單的頁面,上面有我的ScriptManager
和我的UpdatePanel
,我的ContentTemplate
有一個ListBox
和一個標籤。我只是想抓住它的OnSelectionChanged
,所以我可以更新Label
中的文字。無論我嘗試調整什麼設置,我都會收到整頁回覆。ASP.NET AJAX可以在SharePoint 2007應用程序頁面內部分渲染嗎?
這真的不起作用,或者我只是搞砸了嗎?
我有一個簡單的頁面,上面有我的ScriptManager
和我的UpdatePanel
,我的ContentTemplate
有一個ListBox
和一個標籤。我只是想抓住它的OnSelectionChanged
,所以我可以更新Label
中的文字。無論我嘗試調整什麼設置,我都會收到整頁回覆。ASP.NET AJAX可以在SharePoint 2007應用程序頁面內部分渲染嗎?
這真的不起作用,或者我只是搞砸了嗎?
您需要擁有Sharepoint 2007 Service Pack 1 - 否則就沒有機會。 (SharePoint 2007的早AJAX 1.0 - 他們建立了一些支持到服務包1)
接下來,從拍攝的角度來看,測試故障的確切相同代碼在一個普通的ASP託管時預期的功能。網頁。 (將您的代碼直接複製並粘貼到新頁面中,以排除任何印刷錯誤)。在問題領域內或在問題領域以外的執政共享點將有助於縮小解決方案空間。
混合doPostback,UpdatePanel和SharePoint有一個特定的問題 - 症狀正是你所看到的:整頁回發而不是異步回發。請參閱知識庫文章以獲得解決方法:http://support.microsoft.com/kb/941955
Mindsharp的Todd Bleeker向我展示了他編寫的可以在Sharepoint 2.0上使用Ajax的代碼片段。這很酷。如果你想看看,我相信公司在他們的SharePoint站點管理軟件上使用它。 (您曾經可以申請30天的試用期)。我敢打賭,如何做到這一點是他們的雅虎集團(我不記得名字,但我相信,如果你搜索mindsharp你會發現它。)
作爲一個說明,Ajax已經出現很長時間。自2002年以來,微軟很容易支持它,因爲IE 5.5的發佈(我不知道其他瀏覽器,我正在做內部開發,我們當時只支持)。它只是沒有被稱爲。術語阿賈克斯只不過是稍後有人提出的營銷術語。
獲取最新的SharePoint 2007 Service Pack將解決您的問題(並添加對AJAX的完全支持)。如果沒有服務包,您將需要遵循這樣的這篇文章中概述的例子:
AjaxBasePart: Easy ASP.NET 2.0 AJAX Extensions 1.0 and Office SharePoint Server 2007
發佈這個聽,讓人們知道有一個答案,即使沒有最新的服務包(secretGeek的反應似乎是說沒有機會)。
如果您已安裝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,以解決您的問題:
從技術角度看,Service Pack 1的不添加全力支持爲ASP.NET AJAX。您仍然需要使用上述答案中提到的各種文章中描述的解決方法。
特別是,您需要確保SharePoint Web應用程序的web.config文件已更新爲支持適當版本的ASP.NET AJAX擴展。
web.config未被更新的事實是原始問題中描述的問題最可能的原因。