科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基于ASP.NET AJAX的WebPart开发与部署(1)

基于ASP.NET AJAX的WebPart开发与部署(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文中的信息都是收集来的,来源很多,无法一一列出,望见谅。内容仅作为个人的知识管理。Windows SharePoint Services v3 基于ASP.NET 2.0构建。

作者:sunmoonfire 来源:blog 2007年9月2日

关键字: WebPart ASP.NET SharePoint SharePoint2007 Office

  • 评论
  • 分享微博
  • 分享邮件
本文中的信息都是收集来的,来源很多,无法一一列出,望见谅。内容仅作为个人的知识管理。
Windows SharePoint Services v3 基于ASP.NET 2.0构建。Microsoft ASP.NET AJAX 1.0在MOSS之后推出,因此在某些情况下,ASP.NET AJAX 和 SharePoint之间存在一些兼容性问题,这些问题将会在Windows SharePoint Services SP1中解决。在此之前要在SharePoint中使用ASP.NET AJAX技术,需要进行一些特殊的部署步骤。
注意:

UpdatePanel在 webpart中使用会有所限制。详细情况请查考ASP.NET AJAX的文档。并不是所有的控件都可以在UpdatePanel中使用。

如果启用了输出缓存,就不能使用ASP.NET AJAX,否则会出现错误。经典的性能与时效的矛盾。

在SharePoint中使用Microsoft ASP.NET AJAX 1.0技术带来的好处:
  1. 可以形成一套完整的客户端脚本资源库,并积累一些可重用的部件。
  2. 可以使用 JSON展示我们的Web服务数据, 结果可以很容易的在JavaScript/Ajax应用程序中使用。
  3. 利用扩展中的技术构建WebPart可以提供高交互性的样式,比如一个具备自动完成功能的 textbox.
  4. 在WebPart中利用 UpdatePanel,实现无回调的交互,减少刷新页面的次数。

下面是部署使用了Microsoft ASP.NET AJAX 1.0技术的组件前的环境准备步骤。(只需在新安装的环境中部署一次,以后添加Webpart就不用了)

下载并在Web服务器场上安装ASP.NET AJAX

首先,必须安装 "ASP.NET 2.0 AJAX Extensions 1.0" ,可以从ajax.asp.net下载。

为Microsoft ASP.NET AJAX 1.0扩展 SharePoint web.config

我们需要为Ajax注册一些特定的条目。 编辑SharePoint的 web.config文件,该文件通常位于如下目录:

c:\inetpub\wwwroot\wss\virtualdirectories\80
  1.   添加 <sectionGroup>元素到  <configSections>标记:
    <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. 添加 <controls> 节的内容,放在 <system.web>/<pages> 标记中。
        <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. 在<compilation>标记内的<assemblies> 标记中添加下面的内容:
          <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>节中,添加一条 SafeControl ,用于 Microsoft Ajax Extensions的System.Web.UI命名空间。
      <SafeControls> 
          
    <SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />
      
    </SafeControls>
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章