现在的位置: 首页 > 综合 > 正文

Ajax新版本 Sys未定义问题的最终解决方法

2012年11月11日 ⁄ 综合 ⁄ 共 1471字 ⁄ 字号 评论关闭

遇到这个问题在百度搜一下,说是Web.Config的问题,可以我的Web.Config看着没有问题;没有其他办法,还是再生成一个新的Web.Config,问题依旧.
最终解决办法是把以下这名移到函数内,也就是在页面装载后,再去调用,问题就解决了
var prm = Sys.WebForms.PageRequestManager.getInstance();

下面附上Web.Config的修改方案,以备后用
首先Web.Config 中配置成:
..............
<httpHandlers>
      <remove verb="*" path="*.asmx"/>
      <!--
      <add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      <add verb="GET" path="ScriptResource.axd" type="Microsoft.Web.Handlers.ScriptResourceHandler" validate="false"/>
    -->
     <!--把上面的改为如下,1.0 rc版,已经把命名空间改为了system-->
       <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="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
    
     
</httpHandlers>
<compilation debug="true">
 <assemblies>
 <!--
         <add assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
改为如下         
-->
        
           <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
 </assemblies>
</compilation>

............

重新编译,运行即可.

如果配置Web.Config后运行仍然报错误,请将所有页面的中的 <asp:ScriptManager id="ScriptManager1" runat="server" AsyncPostBackTimeout="200">
    </asp:ScriptManager>
紧跟在<Form>标记之后.

抱歉!评论已关闭.