首页 新闻 会员 周边

怎么在vs2008里面安装Ajax

0
[已解决问题] 解决于 2008-12-07 19:47

Visual studio 2008有三个平台FrameWork 2.0,3.0,3.5 在2.0平台里没有Ajax控件,请问怎么安装Ajax控件 在vs2008Framework2.0环境下安装vs2005 Ajax,安装的时候一式直报错。请大侠帮忙

wolfes的主页 wolfes | 初学一级 | 园豆:174
提问于:2008-12-07 13:48
< >
分享
最佳答案
0

VS2008中如果新建项目选择3.0以上的工具箱里应该就有了ASP.NET AJAX 1.0了,这样情况下可以安装楼上方法在工具箱中把DLL文件给导入就行了,详细见(2.0或VS2005):

一、安装ASP.NET AJAX
1.所谓的安装ASP.NET AJAX就是安装必备的ASP.NET 2.0 AJAX Extensions,安装成功后会在“管理工具”下的“Microsoft .NET Framework2.0 Configuration”中找到程集“System.Web.Extensions”这个条目。
2.接下来安装CTP版,和上一个的区别是安装完成后不会在Microsoft .NET Framework2.0 Configuration注册GAC,要是想在项上中使用必须引用此程序集“Microsoft.Web.Preview.dll”并在工具箱中引用。

 常见错误:如果安装不成功的话,就清空IE缓存文件。删除原来的老版本然后再装。如果还不行的话就把别的机上的安装好的复制到本机上:c:\program files\microsoft asp.net\asp.net 2.0 ajax extensions\v1.061025;

二、配置ASP.NET AJAX
*.在现有的程序中加入ASP.NET AJAX
   1.添加必要的程序集的引用。
   2.配置web.config文件
在<configuration>根元素中添加一个<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">
  <sectionGroup name="webServices"  type="System.Web.Configuration.ScriptingWebServicesSectionGroup,  System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35">
        ...
        ...
      </sectionGroup>
    </sectionGroup>
  </sectionGroup>
</configSections>
然后在<configuration>根元素中定义<System.web.extensions>子元素,并在其中定义相应的与上面<sectionGroup>相呼应的层次结构,如下所示:
<system.web.extensions>
  <scripting>
    <webServices>
      ...
      ...
    </webServices>
  </scripting>
</system.web.extensions>
ASP.NET AJAX应用程序在运行时能够对客户端脚本文件进行压缩或缓存,则应该在<sectionGroup name="scripting">中定义一个新的<section>:
<section name="scriptResourceHandler"  type="System.Web.Configuration.ScriptingScriptResourceHandlerSection,  System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35" requirePermission="false"  allowDefinition="MachineToApplication"/>
然后在<scripting>中添加这部分启用脚本资源压缩以及缓存的配置声明:
<scriptResourceHandler enableCompression="true" enableCaching="true" />
这段声明将在程序运行于Release模式时压缩客户端脚本库的大小。如果不是程序中有非常特殊的需要,我们绝对应该添加这个HTTP模块以提高网络传输速度。
若ASP.NET AJAX应用程序中需要自定义的JSON转换方式,则应该在<sectionGroup name="webServices">的最内层中定义相应的<section>,例如:
<section name="jsonSerialization"  type="System.Web.Configuration.ScriptingJsonSerializationSection,  System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35" requirePermission="false"  allowDefinition="Everywhere"/>
并在<webServices>中添加自定义的转换器声明。例如,下列转换器即可将服务器端ADO.NET中的DataSet、DataTable以及DataRow自动转换为客户端的相应对象。当然,客户端的这三种对象也可以自动转换为服务器端的相应形式(关于这部分内容,将在第Ⅱ卷中详细介绍):
<jsonSerialization maxJsonLength="500">
  <converters>
      <add name="DataSetConverter"  type="Microsoft.Web.Preview.Script.Serialization.Converters.DataSetConverter, Microsoft.Web.Preview, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35"/>
      <add name="DataRowConverter"  type="Microsoft.Web.Preview.Script.Serialization.Converters.DataRowConverter, Microsoft.Web.Preview, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add name="DataTableConverter"  type="Microsoft.Web.Preview.Script.Serialization.Converters.DataTableConverter, Microsoft.Web.Preview, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35"/>
  </converters>
</jsonSerialization>

若ASP.NET AJAX应用程序中需要在客户端访问ASP.NET所提供的用户身份认证服务,则应该在<sectionGroup name="webServices">中定义这样一个<section>:
<section name="authenticationService"  type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false"  allowDefinition="MachineToApplication"/>
并在<webServices>中添加这一段的定义,用来允许在客户端访问户身份认证服务(其中requireSSL属性可以根据需要设置):
<authenticationService enabled="true" requireSSL ="true|false"/>
若ASP.NET AJAX应用程序中需要在客户端访问ASP.NET所提供的用户个性化信息服务,则应该在<sectionGroup name="webServices">中定义这样一个<section>:
<section name="profileService"  type="System.Web.Configuration.ScriptingProfileServiceSection,  System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35" requirePermission="false"  allowDefinition="MachineToApplication"/>
并在<webServices>中添加这一段的定义,用来允许在客户端访问用户个性化信息服务。其中writeAccessProperties指定的用户个性化属性可以在客户端进行设定,read- AccessProperties指定的用户个性化属性可以在客户端进行访问:
<profileService enabled="true"   readAccessProperties=" propertyname1;propertyname2"  writeAccessProperties=" propertyname1;propertyname2" />
若想暴露出所有的用户个性化属性供客户端设定/读取,则可以在readAccess- Properties或WriteAccessProperties中使用通配符*,代码如下:
<profileService enabled="true" readAccessProperties="*" WriteAccessProperties="*" />
接下来在<configuration>根元素中的<system.web>节中注册ASP.NET AJAX服务器端控件的前缀:
<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI"  assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35"/>
    <add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI"  assembly="Microsoft.Web.Preview"/>
    <add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI.Controls"  assembly="Microsoft.Web.Preview"/>
  </controls>
</pages>
接下来修改<compilation>节,允许调试和添加必要的用于调试的程序集:
<compilation debug="true">
  <assemblies>
    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35"/>
  </assemblies>
  <buildProviders>
    <add extension="*.asbx"  type="Microsoft.Web.Preview.Services.BridgeBuildProvider"/>
  </buildProviders>
</compilation>

注意,上面代码中同样包含了<buildProviders>以及其中*.asbx文件的声明。若你的应用程序不需要服务器端远程Web Service桥,那么没有必要添加<buildProviders>中的这部分内容。

若你的ASP.NET AJAX应用程序中需要在客户端调用服务器端的Web Service,则需要对Web Service应用一些新的HTTP Handler,并为其生成必要的客户端JavaScript代理脚本。找到<system.web>元素中的<httpHandlers>子元素,移除现有的Web Service文件(.asmx)的Handler,然后添加ASP.NET AJAX引入的新的Handler(*.asbx一项同样可以根据需要有选择地添加):
<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <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"/>
  <add verb="GET,HEAD,POST" path="*.asbx"  type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  validate="false"/>
</httpHandlers>

仍然是在<system.web>元素中添加如下的HTTP模块声明:
<httpModules>
  <add name="ScriptModule" type="System.Web.Handlers.ScriptModule,  System.Web.Extensions, Version=1.0.61025.0, Culture=neutral,  PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
最后,在<configuration>节中添加<system.webServer>小节,为Web服务器进行相应的配置(这些配置是可选的,将只应用于IIS7中):
<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"/>
    <add name="ASBXHandler" verb="GET,HEAD,POST" path="*.asbx"  preCondition="integratedMode" type="System.Web.Script.Services.  ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0,  Culture=neutral,PublicKeyToken=31bf3856ad364e35"/>
  </handlers>
</system.webServer>

Astar | 高人七级 |园豆:40805 | 2008-12-07 18:05
其他回答(2)
1

不用安装的吧?默认就支持的吧?莫非你切换到2.0环境就没有了?

波波塔 | 园豆:638 (小虾三级) | 2008-12-07 13:55
0

直接安装就好了,如果在左边的工具箱里没有,那么就直接在工具箱里“选择项”,工到你安装的ajax的DLL就可以了

李.net | 园豆:730 (小虾三级) | 2008-12-07 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册