sharepoint 中quickpart 如何部署帶Ajax系列

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.