ASP.NET Ajax在IIS 7上无法运行

4
我有一个使用ASP.NET AJAX编写的小型Web应用程序,可以在http://www.ultidev.com/的Cassini ASP.NET下良好运行。但是当我尝试在IIS7下托管它时,AJAX无法正常工作。UpdatePanel、Calendar扩展和Validation Control的客户端验证都没有起作用。我认为这必须是IIS 7的问题。
以下是web.config文件的一部分:
    <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"/>
        <add name="CrystalImageHandler.aspx_GET" verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" preCondition="integratedMode"/></handlers>
</system.webServer>

有人能告诉我IIS 7的问题在哪里吗?我该如何配置它与ASP.NET AJAX一起使用?谢谢。

3个回答

2
在web.config文件的Handlers部分中添加以下行: <add name="Ajax" verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
该行用于配置Ajax请求的处理程序。

我尝试过了,但还是一样。日历没有显示出来,验证控件也没有起作用。 - Narazana

0
如果您从NUGET添加了AJAX并且在此之后添加了ajaxcontroltoolkit.dll,请删除下一行代码: 这里的链接:http://ajaxcontroltoolkit.codeplex.com/releases/view/109918
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>

注意:AJAX控件工具包4.5不支持框架4.5。从NUGET安装的AJAX存在问题。


0

我刚刚删除了 Web 服务器角色,然后重新添加了 Web 服务器角色。现在它可以工作了。我认为可能是 IIS 7 在第一次设置时安装了某些组件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接