欢迎加入站点基地设计开发交流群:30720409
详细内容
AjaxPro部署后提示未定义的解决办法
发布日期:2015-05-21     点击:2665     字体:[ ]

项目中用了AjaxPro,这个控件前台调用后台方法很方便,但出现一个问题,调试时可以使用,部署发布后不能用,原来IIS6和IIS7下web.config配置不同

 

例如下面这句:

OBSetting_frmOBCallPlanList.FindTable(actionval,IsOpen);

一直提示OBSetting_frmOBCallPlanList未定义,跟踪了下发现是部署的环境没有生成预定的js文件

在iis6中,web.config的配置为:
<location path="ajaxpro">
 <system.web>
 <httpHandlers>
 <add verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro" />
   </httpHandlers>
   <httpModules>
   <add name="ScriptModule" type="AjaxPro.AjaxHandlerFactory,AjaxPro" />
   </httpModules>
 <!--
If you need to have Ajax.NET Professional methods running on the
 login page you may have to enable your own authorization configuration
 here.
 -->
 <!--
<authorization>
 <deny users="*"/>
 </authorization>
 -->
 </system.web>
 </location>
在iis7下,把以上代码删除
 改成一下代码即可
<system.webServer>
   <directoryBrowse enabled="true" />
   <handlers>
   <add name="ajaxpro" verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro" />
   </handlers>
  </system.webServer>
应用程序池不需要改成Classic .NET AppPool

其实就是IIS6环境,这句<add name="ajaxpro" verb="*" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro" />
要放在 <system.web>
 <httpHandlers>节点下,而II7环境却要放在<system.webServer>
   <handlers>节点下

用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计