代码改变世界

服务器不支持 AjaxPro 的问题终于解决方法

2012-03-06 16:46  蓝天碧园  阅读(1122)  评论(0编辑  收藏  举报

方法为:在网站属性中 --》》 主目录 --》》配置 --》》 添加一个 .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>