关于服务器或虚拟主机不支持 AjaxPro 的问题终极解决方法
2024-07-09 22:47:06
供稿:网友
方法为:在网站属性中 --》》 主目录 --》》配置 --》》 添加一个 .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>