关于服务器或虚拟主机不支持 AjaxPro 的问题终极解决方法

时间:2022-02-01 13:31:03

方法为:在网站属性中 --》》 主目录 --》》配置 --》》 添加一个 .ashx 文件的映射 就可以了 , 

映射的文件路径在:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 扩展名: 

.ashx 动作:GET,HEAD,POST,DEBUG 

检查文件是否存在的勾去掉 

首先要在Web.config的<system.web>中添加下面的东东 

<httpHandlers> 
<add verb="POST,GET" path="AjaxPro/*.ashx" type="AjaxPro.AjaxHandlerFactory, axPro" /> 

或(看版本) 

<add verb="POST,GET" path="ajaxpro/*.ashx" pe="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> 

</httpHandlers> 

然后在服务器端的Page_Load中添加下面一行代码 
AjaxPro.Utility.RegisterTypeForAjax(typeof(index)); 

下面来实现如何在客户端用javascript调用服务器端的方法 
服务器端的方法,返回一个DataSet 

复制代码代码如下:


[AjaxPro.AjaxMethod] 
public DataSet Change() 

string str="select xjh,xm from xs_jbxx"; 
ds=cla.Bind(str); 
return ds; 


然后在客户端调用这个方法 

复制代码代码如下:


<script language="javascript"> 
function Change() 

WebServer.index.Change(change_callback) 

function change_callback(response) 

var ds=response.value; 
var content=document.getElementById("newDG"); 
var table=null; 
for(var i=0;i<ds.Tables[0].Rows.length;i++) 

if(i==0) 

table=ds.Tables[0].Rows[i].xm+"<br>"; 

else 

table+=ds.Tables[0].Rows[i].xm+"<br>"; 


content.innerHTML=table; 

</script>