在Sharepoint里面使用ASP.NET AJAX Control Toolkit

本文介绍如何在WSS3.0环境中配置并使用ASP.NET AJAX Control Toolkit,通过详细步骤展示如何让SharePoint站点支持AJAX功能,以增强用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我的上一篇文章如何在WSS中使用Microsoft Enterprise Library 中我记录了我是怎样创建一个空白的工程文件,然后一步一步配置它,使它能够使用Microsoft的Enterprise Library 4.1来进行数据操作。在本篇文章中,我进一步配置它,使他能够引入ASP.NET AJAX Control Tookit这个类库,使我们在WSS3.0里面部署的页面也能利用到Ajax的特性,以便能改善用户体验。下面是我的具体配置步骤:

首先要下载ASP.NET AJAX Control Toolkit,打开它的官方网站: http://www.asp.net/ajaxlibrary/act.ashx

clip_image002

点那个CodePlex的链接进入下载页面:http://ajaxcontroltoolkit.codeplex.com/releases/view/43475

由于我用的是WSS3.0,和Visual Studio 2008, .Net Framework是3.5版本的,所以要下载这个版本的Control Toolkit:

clip_image002[5]

下载完成后,解压到一个单独的文件夹里面,这个AjaxControlToolkit.dll文件就包含了我们要用的Ajax控件;

clip_image002[7]

打开WSS网站的配置文件所在的目录:C:/Inetpub/wwwroot/wss/VirtualDirectories/80

用Visual Studio 2008打开web.config文件

clip_image002[9]

<configSections>节点里面增加以下内容:

 

 

<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

 

      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

 

        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

 

        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

 

          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>

 

          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

 

          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

 

          <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

 

       

sectionGroup>

 

      sectionGroup>

 

    sectionGroup>

clip_image002[13]

<httpHandlers>节点里面增加以下内容:

 

<remove verb="*" path="*.asmx"/>

 

<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>

 

clip_image002[15]

<httpModules>节点里面增加以下内容:

 

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

clip_image002[17]

<assemblies>节点里面增加以下内容:

 

<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>

 

<add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

 

clip_image002[19]

<pages enableSessionState="true" enableViewState="true" enableViewStateMac="true" validateRequest="false" pageParserFilterType="Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" asyncTimeout="7">节点里面增加以下内容:

 

<controls>

 

        <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

        <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

controls>

 

clip_image002[21]

在web.config文件最底部的configuration>标记的上面增加以下内容:

 

 

  <system.webServer>

 

    <validation validateIntegratedModeConfiguration="false"/>

 

    <modules>

 

      <remove name="ScriptModule"/>

 

      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

    modules>

 

    <handlers>

 

      <remove name="WebServiceHandlerFactory-Integrated"/>

 

      <remove name="ScriptHandlerFactory"/>

 

      <remove name="ScriptHandlerFactoryAppServices"/>

 

      <remove name="ScriptResource"/>

 

      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.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=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

 

    handlers>

 

  system.webServer>

 

 

  <runtime>

 

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

 

      <dependentAssembly>

 

        <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>

 

        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>

 

      dependentAssembly>

 

      <dependentAssembly>

 

        <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>

 

        <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>

 

      dependentAssembly>

 

    assemblyBinding>

 

 

runtime>

 

clip_image002[23]

保存web.config文件后,就可以在页面里面使用AjaxControlToolkit的控件了,我先在工程里面增加了页面文件AjaxControl.aspx和它的CodeBehind文件:AjaxControl.cs

clip_image002[25]

添加AjaxControlToolkit.dll的引用:

clip_image002[27]

clip_image002[29]

clip_image002[31]

然后在AjaxControl.aspx文件里面增加以下内容来注册AjaxControlToolkit里面的控件

 

 

clip_image002[33]

我想在页面里面增加一个弹出来的日期选择控件:CalendarExtender,于是在PlaceHolderMain这个Content里面增加以下代码:

 

<ajax:ToolkitScriptManager

ID="ToolkitScriptManager1" runat="server">ajax:ToolkitScriptManager>

 

<asp:TextBox

ID="txtStartDate" runat="server">asp:TextBox>

 

<ajax:CalendarExtender ID="CalendarExtender1" TargetControlID="txtStartDate" runat="server" />

 

clip_image002[35]

然后生成工程文件:

clip_image002[37]

工程文件的生成事件里面的install.bat文件会把工程的页面文件拷贝到WSS的运行环境里面去:

clip_image002[39]

clip_image002[41]

然后打开IE浏览器,运行AjaxControl.aspx这个页面,可以看到该页面可以正常显示:

clip_image002[43]

如果把鼠标点一下这个文本框,则会弹出一个日期选择控件,这说明AjaxControlToolkit已经能成功的运行,剩下的就是在需要用到AjaxControlToolkit的地方一如既往的发挥它们的强大功能了。

clip_image002[45]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值