今天碰到很奇怪的现象,用AjaxPro的时候再另外一个项目中好好的但是在现在这个项目中一直找不到命名空间
网上的常见解决方案:
1.检查配置文件,看
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>
</httpHandlers>
有没漏掉了
2.如果在iis中,则要添加.ashx的执行模块,这个默认是添加了的
3.注意form表单必须得有,而且还必须加上runat=“server” 否则无效。
我想我在另外一个项目中好好的,这个项目应该不会犯这样的错误吧,不过还是测试下
所以我在这个项目下新建了一个最基本的页面用于ajaxpro弹出对话框方法
但是我调用的时候还是不行,所以我确定肯定是我的哪里配置出错了,最大的可能就是web.config中
所以我将另外解决方案中的web.config拷贝过来然后运行结果能正常运行
问题知道在哪里,因为水平有限只能用最傻的办法 一个节点一个节点的排除了
最后功夫不负有心人 终于找到问题了 原来是 <httpHandlers>和<httpModules>节点冲突
所有东西都会先经过<httpModules>后再进入<httpHandlers>,而我们的ajaxpro的注册是放在httpHandlers中
应该是被httpModules拦截了
具体解决方法由于水平有限 所以没有解决 直接将<httpModules>删除让程序跑起来先
具体解决办法望高手给予解答!