I tried to integrate Atlas into WebPart a couple of days ago but failed. Atlas is a great AJAX framework from Microsoft, but it isn't compatible with SharePoint 2007 for now, what a pity.
But your customers always have this kind of complain, "The page will fully reload when I just click one button in the WebPart, I just wanna perform a very simple action but I have to wait until the page load complete." So, how can you handle this?
As you've known, there is a built-in feature called client callback in ASP.NET 2.0, which allows you call server method from client side without causing the page refresh, and SharePoint2007 is built upon ASP.NET 2.0 framework, so we can use this feature to support AJAX in WebPart.
In the following steps, I'm gonna show you how to get server date from client in a WebPart.
[If you are not familiar with Client Callback feature in ASP.NET 2.0 yet, I strongly recommend you read this article first]
1. Start up VS.NET 2005 and create a Class Library project.
2. Add System.Web.dll to the project reference.
3. Create a Class with a name you expect, which inherit from System.Web.UI.WebControls.WebParts.WebPart and implement System.Web.UI.ICallbackEventHandler interface.
4. Override CreateChildControls to create some controls.
5. Override OnLoad to regist related JavaScript to client.
6. Override RenderContents or Render to render WebPart to browser.
7. Implement ICallbackEventHandler members.
The source code is here:




























































































Okay, That's it, you can compile the project and deploy your WebPart to sharepoint site. I will give you the instructions about how to deploy a web part if you don't know that.
1. Copy compiled assembly to C:\Inetpub\wwwroot\wss\VirtualDirectories\80\_app_bin, notice that 80 is the virtual directory related to your wss site, you can find the name from IIS MMC.
2. Modify the web.config file under C:\Inetpub\wwwroot\wss\VirtualDirectories\80 directory, add below line to SafeControls section:
<SafeControl Assembly="SPS2007.Research.WebParts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" Namespace="SPS2007.Research.WebParts" TypeName="*" />
You probably need to change Assembly and Namespace to accord with your assembly.
3. Execute IISRESET under command line.
4. Then go to Site Settings -> Web parts, click 【New】go to the New Web Parts page, find your web part, click 【Populate Gallery】, after that you can add your web part to a page when you edit a page.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步