使用Ajax.dll 时 抛脚本错误 “AjaxMethod 未定义”

在测试服务器上没有任何问题 (操作系统2003+IIs6),放到正式环境就有脚本错误(Windows2008+IIS7.0)

关键在于IIS的问题。

有几处需要注意:

(1)注册AjaxMethod:

protected void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
           Ajax.Utility.RegisterTypeForAjax(typeof(AirTicketManager.AjaxMethod));

}//如果没有注册这句话也会抛如题目的错误

(2)在webconfig中配置(忘记是手动配置还是引用时候自己生成的了)

 <system.web>

<httpModules>

<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>

</httpModules>

</system.web>

<system.webServer> <handlers> </handlers></system.webServer>

上面在IIS6.0中是这样配置的 ,如果少了这句话也会抛出如题目的脚本错误

(3)IIS版本问题

如果上述问题都不存在,确保ajax.dll也存在,但仍然提示“AjaxMethod 未定义”,就要考虑IIS版本问题了

IIS7的话需要把刚才在webconfig里面的那句在system.webServer里面也加上一句

<system.webServer>
<handlers>
<add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />
</handlers>
</system.webServer>
问题就解决了,花了我大半天的时间啊

 

 

 

posted @ 2010-06-13 09:34  张倩  阅读(1975)  评论(1编辑  收藏  举报