1. 首先,在SharePoint服务器上安装ASP.NET 2.0 AJAX Extensions.

2. 修改SP站点web.config,在c:\inetpub\wwwroot\wss\virtualdirectories\下会有对应站点占用端口号的文件夹,web.config就在这里:
  1)  在<configSections>下添加

    2) <SafeControls>下添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />
SharePoint应用AJAX.NET和AJAX Control Toolkit

  3)  在 <httpHandlers>下添加:

/>

  4)  在<httpModules>下添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

  5) 在<assemblies>下添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

  6) 在<pages>下添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<controls>
SharePoint应用AJAX.NET和AJAX Control Toolkit        
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
SharePoint应用AJAX.NET和AJAX Control Toolkit      
</controls>

 7) 在<configuration>下的最后添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<system.web.extensions>
SharePoint应用AJAX.NET和AJAX Control Toolkit    
<scripting>
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<webServices>
SharePoint应用AJAX.NET和AJAX Control Toolkit        
<!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
SharePoint应用AJAX.NET和AJAX Control Toolkit        
<!--
SharePoint应用AJAX.NET和AJAX Control Toolkit        <authenticationService enabled="true" requireSSL = "true|false"/>
SharePoint应用AJAX.NET和AJAX Control Toolkit      
-->
SharePoint应用AJAX.NET和AJAX Control Toolkit        
<!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and writeAccessProperties attributes. -->
SharePoint应用AJAX.NET和AJAX Control Toolkit        
<!--
SharePoint应用AJAX.NET和AJAX Control Toolkit      <profileService enabled="true"
SharePoint应用AJAX.NET和AJAX Control Toolkit                      readAccessProperties="propertyname1,propertyname2"
SharePoint应用AJAX.NET和AJAX Control Toolkit                      writeAccessProperties="propertyname1,propertyname2" />
SharePoint应用AJAX.NET和AJAX Control Toolkit      
-->
SharePoint应用AJAX.NET和AJAX Control Toolkit      
</webServices>
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<!--
SharePoint应用AJAX.NET和AJAX Control Toolkit      <scriptResourceHandler enableCompression="true" enableCaching="true" />
SharePoint应用AJAX.NET和AJAX Control Toolkit      
-->
SharePoint应用AJAX.NET和AJAX Control Toolkit    
</scripting>
SharePoint应用AJAX.NET和AJAX Control Toolkit  
</system.web.extensions>
SharePoint应用AJAX.NET和AJAX Control Toolkit  
<system.webServer>
SharePoint应用AJAX.NET和AJAX Control Toolkit    
<validation validateIntegratedModeConfiguration="false" />
SharePoint应用AJAX.NET和AJAX Control Toolkit    
<modules>
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
SharePoint应用AJAX.NET和AJAX Control Toolkit    
</modules>
SharePoint应用AJAX.NET和AJAX Control Toolkit    
<handlers>
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<remove name="WebServiceHandlerFactory-Integrated" />
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
SharePoint应用AJAX.NET和AJAX Control Toolkit      
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
SharePoint应用AJAX.NET和AJAX Control Toolkit    
</handlers>
SharePoint应用AJAX.NET和AJAX Control Toolkit  
</system.webServer>
SharePoint应用AJAX.NET和AJAX Control Toolkit

3. 在webpart中就使用ScriptManager和UpdatePanel
  1)  添加 System.Web.Extensions引用
  2)  添加代码如下:

此代码来自十一

  3)  在CreateChildControls()方法里添加UpdatePanel:

SharePoint应用AJAX.NET和AJAX Control Toolkit            UpdatePanel up = new UpdatePanel();
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ID 
= "UpdatePanel2";
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ChildrenAsTriggers 
= true;
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.UpdateMode 
= UpdatePanelUpdateMode.Always;
SharePoint应用AJAX.NET和AJAX Control Toolkit            
this.Controls.Add(up);
SharePoint应用AJAX.NET和AJAX Control Toolkit
SharePoint应用AJAX.NET和AJAX Control Toolkit            Button button 
= new Button();
SharePoint应用AJAX.NET和AJAX Control Toolkit            button.Text 
= "Groups";
SharePoint应用AJAX.NET和AJAX Control Toolkit            button.Click 
+= new EventHandler(HandleButtonClick);
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ContentTemplateContainer.Controls.Add(button);
SharePoint应用AJAX.NET和AJAX Control Toolkit
SharePoint应用AJAX.NET和AJAX Control Toolkit            listbox1 
= new ListBox();
SharePoint应用AJAX.NET和AJAX Control Toolkit            listbox2 
= new ListBox();
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ContentTemplateContainer.Controls.Add(listbox1);
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ContentTemplateContainer.Controls.Add(listbox2);
SharePoint应用AJAX.NET和AJAX Control Toolkit

Button事件:

SharePoint应用AJAX.NET和AJAX Control Toolkit        private void HandleButtonClick(object sender, EventArgs eventArgs)
        }

这样,我们的webpart在updatepanel的帮助下实现AJAX效果!


再让我们的WSS站点支持AJAX Control Toolkit

1. 将AjaxControlToolkit.dll添加到GAC.
将AjaxControlToolkit.dll拖拽到C:\Windows\Assembly下就可以了.

2. 继续修改WSS站点web.config
 在<assemblies>下添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<add assembly="AjaxControlToolkit, Version=1.0.10618.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />

 在<controls>下添加:

SharePoint应用AJAX.NET和AJAX Control Toolkit<add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit, Version=1.0.10618.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e" />

这样,在WebPart中就可以使用Toolkit里面的控件了。

添加AjaxControlToolkit引用;

在上面代码基础上添加代码:

SharePoint应用AJAX.NET和AJAX Control Toolkitthis.textBox = new TextBox();
SharePoint应用AJAX.NET和AJAX Control Toolkit            
this.textBox.ID = "TextBox";
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ContentTemplateContainer.Controls.Add(
this.textBox);
SharePoint应用AJAX.NET和AJAX Control Toolkit            c 
= new AjaxControlToolkit.CalendarExtender();
SharePoint应用AJAX.NET和AJAX Control Toolkit            c.TargetControlID 
= "TextBox";
SharePoint应用AJAX.NET和AJAX Control Toolkit            up.ContentTemplateContainer.Controls.Add(c);
SharePoint应用AJAX.NET和AJAX Control Toolkit


我们也可以在webpart中加载包含Toolkit 控件的UC。

SharePoint应用AJAX.NET和AJAX Control Toolkit            Control ctl = Page.LoadControl("~\\wpresources\\MyJAJXCalendar.ascx");
SharePoint应用AJAX.NET和AJAX Control Toolkit            Controls.Add(ctl);
SharePoint应用AJAX.NET和AJAX Control Toolkit

当然,UC也可以用Feature去加载到页面上。
效果如下:

SharePoint应用AJAX.NET和AJAX Control Toolkit


相关文章:

  • 2021-06-09
  • 2021-09-09
  • 2021-12-14
  • 2022-02-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-29
  • 2021-08-13
  • 2021-11-14
  • 2021-08-09
  • 2022-02-24
  • 2021-10-02
相关资源
相似解决方案