1.安裝ASPAJAXExtSetup(ASP.NET Ajax擴充)
2.安裝ASPNETAJAXVS2008(VS 2008 Ajax擴充,如果是VS2005那就裝2005對應的,這兩個都可以在http://ajax.asp.net/下載最新版本)
3.安裝Quickpart(http://www.codeplex.com/smartpart )或Smartpart(http://www.codeplex.com/quickpart )
4.修改web.config:
1). 在 <configSections>節點下添加<sectionGroup>節點
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
2). 為 <system.web>/<pages> 添加<controls>子節點
<pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</controls>
</pages>
3). 將以下添加到<assemblies> 中, <assemblies>是<compilation>的子節點:
<assemblies>
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</assemblies>
4). 在<httpHandlers> 下添加以下註冊項:
<httpHandlers>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
5). 在< HttpModules > 下添加以下註冊項:
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
6). 在<SharePoint>/<SafeControls>下添加:
<SafeControls>
<SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />
</SafeControls>
7). 最後,將以下內容添加到web.config 檔案的最底部,也就是在<configuration> 結束標記前。
<system.web.extensions>
<scripting>
<webServices>
<!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
<!--
<authenticationService enabled="true" requireSSL = "true|false"/>
-->
<!-- 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. -->
<!--
<profileService enabled="true"
readAccessProperties="propertyname1,propertyname2"
writeAccessProperties="propertyname1,propertyname2" />
-->
</webServices>
<!--
<scriptResourceHandler enableCompression="true" enableCaching="true" />
-->
</scripting>
</system.web.extensions>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated" />
<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"/>
<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"/>
<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" />
</handlers>
</system.webServer>
如果你按以上步驟做完並且在Quickpart\Smartpart中可以正常使用Ajax控制項,那麼恭喜你!假如你像我一樣儘管做完所有步驟但總是無法正常顯示Ajax控制項(也許是本人能力有限,忽略了什麼重要步驟,如果有高手指點,不甚感激。初步估計是在web.config中配置的程式集版本或PublicKeyToken不對,因為我下載的安裝程式都是最新的,而以上資料則很早就發布了。),那麼請您繼續往下看。
這幾天在Codeplex上忽然遇到一個好東東SharePoint ASP.NET Ajax Enabler
,其實就是一個幫你配置web.config的解決方案檔案,估計還有一些其它的操作,可以下載原始碼研究,作者已經做了一個視頻,按照視頻部署好之後就可以正常使用Ajax控制項了,也就是可以忽略上面的第七步。
當然你可以在UserControl中使用AJAX Control Toolkit(太酷了,不是嗎?)。首先下載AJAX Control Toolkit(http://ajax.asp.net/ ),然後本人建議你將AJAXControlToolkit.dll部署到GAC中(在Visual Studio命令列工具中,先進AJAXControlToolkit.dll所在目錄,然後輸入:Gacutil /i AJAXControlToolkit.dll)。然後修改web.config檔案。
1) 在<compilation>下的<assemblies>節點下添加:
<add assembly="AjaxControlToolkit, Version=1.0.20229.20821, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e"/>
注意版本號碼和PublicKeyToken,可以在GAC目錄(C:\Windows\assembly)中查看。
2) 在<pages>下的< controls>節點下添加:
<add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>
部署完成後將AJAXControlToolkit添加到VS的工具列中,現在你就可以盡情享受AJAX給你的超強便利了!
下面再說一下本人總結的一些小經驗。首先如果要在Quickpart中使用AJAX的話,你必須在主版頁面中手動添加ScriptManager,方法就不細講了,因為本人發現了一個更加簡單便利的方法。你可以先在頁面中添加一個SmartPart with AJAX(注意要在第一個添加!否則會出錯。),然後就可以在Quickpart中使用含AJAX控制項的UserControl了,原理也很簡單,SmartPart已經幫我們添加了一個ScriptManager。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/yzrwhx_love/archive/2009/01/09/3743041.aspx