刚学会使用asp.net ajax 做无刷新页
在本机测试,可以正常做到无刷新
传到服务器上,安装了ASP.NET 2.0 AJAX Extensions v1.0.61025
访问正常,但没办法做到无刷新了
发现源码页少了两个脚本
WebResource.axd
ScriptResource.axd<script type="text/javascript"> 
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ScriptManager1', document.getElementById('form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tUpdatePanel1'], ['iAdd','userlevel'], [], 90);
//]]> 
</script> 
这一段代码也没有
google了N遍都没找到这种情况

解决方案 »

  1.   

    WebResource.axd 是编译时产生的资源文件
    发布网站,在IIS部署
      

  2.   

    这个是我的Web.Config文件<?xml version="1.0"?>
    <configuration>
    <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>
    <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=192.168.1.100;Initial Catalog=noname;Persist Security Info=True;User ID=sa;Password=clyal" providerName="System.Data.SqlClient"/>
    </connectionStrings>
    <system.web>
    <pages>
    <controls>
    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add namespace="AjaxControlToolkit" assembly="AjaxControlToolkit" tagPrefix="ajaxToolkit"/>
    </controls>
    </pages>
    <!--
              Set compilation debug="true" to insert debugging
              symbols into the compiled page. Because this
              affects performance, set this value to true only
              during development.
        -->
    <compilation debug="true">
    <assemblies>
    <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
    </compilation>
    <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"/>
    </httpHandlers>
    <httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </httpModules>
    </system.web>
    <system.web.extensions>
    <scripting>
    <webServices>
    <!-- Uncomment this line to customize maxJsonLength and add a custom converter -->
    <!--
          <jsonSerialization maxJsonLength="500">
            <converters>
              <add name="ConvertMe" type="Acme.SubAcme.ConvertMeTypeConverter"/>
            </converters>
          </jsonSerialization>
          -->
    <!-- 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>
    </configuration>
      

  3.   

    我确定IIS里axd文件是正常解析的
    但在我本机调试的时候,是能够正确无刷新
    这是本机生成出来的代码<script src="/Webs/WebResource.axd?d=fkDBzhggvcZWRRxV0IoT6g2&amp;t=633552986428750000" type="text/javascript"></script>  <script src="/Webs/ScriptResource.axd?d=muRmITnu4gjLD1tINKkAARJmJF6njxyjwh3QJ9W9d2jPLhVsCIECKre2amSSoPLPzATnsR-HSJC4gMDunCDJyrcNrBbO6LT5_Jdioo4D--01&amp;t=633649266966093750" type="text/javascript"></script><script src="/Webs/ScriptResource.axd?d=muRmITnu4gjLD1tINKkAARJmJF6njxyjwh3QJ9W9d2jPLhVsCIECKre2amSSoPLPzATnsR-HSJC4gMDunCDJyuELp0BVcEoQ0RPoRV5l95F5Fw-uXULLD6sijrj08MfF0&amp;t=633649266966093750" type="text/javascript"></script>        <script type="text/javascript"> //<![CDATA[Sys.WebForms.PageRequestManager._initialize('ScriptManager1', document.getElementById('form1'));Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tUpdatePanel1'], ['fPage','lPage','nPage','pPage','uAdd','uDel','uDelAll','uEdit'], [], 90);//]]></script>
    这个是传到服务器上生成的代码<script src="/Webs/ScriptResource.axd?d=zZnzYqpbN-OU0v3jng8S78cFkzrZnXU6IhGTE1zLNnjE1F86O3H2_oxhkfjkwPN8uusK4z0mG9hWOYyEge5AVSVrcadM0yRlP9m0FNdNgrs1&amp;t=633648504968906250" type="text/javascript"></script>
    ScriptManager没有注册成功??
      

  4.   

    使用ICallbackEventHandler接口自己实现客户端回调。