ajax 不能调用后台方法

hel 2009-08-13 12:02:25
if (!Page.IsPostBack)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
}

[AjaxPro.AjaxMethod]
public int getClose()
{
int i = 0;
try
{
i = bll.getClose(loginusername);
}
catch (Exception ess)
{

throw new Exception(ess.Message);
}
return 1;

}

这个是cs 申明的ajax

function check()
{
showMsg();
count++;
Index.getClose( "1",setReturn);
setTimeout("check()",3000);

}
在前台 调用Index 的时候 说Index 没有定义 是怎么回事?
...全文
213 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jelindu 2009-08-13
  • 打赏
  • 举报
回复
这么明显的问题
你传两个参数Index.getClose( "1",setReturn);
但cs文件却没有参数public int getClose() ,它怎么能调用!
wuyq11 2009-08-13
  • 打赏
  • 举报
回复
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
</httpHandlers>
wuyq11 2009-08-13
  • 打赏
  • 举报
回复
public class AjaxMethod
{
public int getClose()
{
}
}
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxMethod));

AjaxMethod.getClose();
getClose() 是否在index类里
wdzr_826 2009-08-13
  • 打赏
  • 举报
回复
我这里用的是AjaxPro.2.dll
wdzr_826 2009-08-13
  • 打赏
  • 举报
回复
你WebConfig里的配置了没有?
要在<system.web>下加入
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
jerry_zuo 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiazhijiang520 的回复:]
AjaxPro.AjaxNamespace("");
有没有申明命名空间。。。
[/Quote]

先证实这个。
qq904492758 2009-08-13
  • 打赏
  • 举报
回复
是不是 缺少引用啊
泡面之夏 2009-08-13
  • 打赏
  • 举报
回复
AjaxPro.AjaxNamespace("");
有没有申明命名空间。。。
fengjian_428 2009-08-13
  • 打赏
  • 举报
回复
Index是页面类的名字?
hel 2009-08-13
  • 打赏
  • 举报
回复
好了问题弄出来了 原来是form 没有 runat="server"
谢谢各位啊 送分啊
阿非 2009-08-13
  • 打赏
  • 举报
回复
你 的 Index 这个类 的命名空间 叫什么
hel 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 sandy945 的回复:]
你的类有命名空间么?
如果有 加上
NamespaceName.Index.getClose( "1",setReturn);


你的aspx 页 的 form 有 runat="server" 么?
没有的话 加上


[/Quote]
我是在 js里面调用 怎么加命名空间?
hel 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 wdzr_826 的回复:]
那你本身这个页面是Index吗?
像这样public partial class Index : System.Web.UI.Page
[/Quote]
恩 就是这样
阿非 2009-08-13
  • 打赏
  • 举报
回复
你的类有命名空间么?
如果有 加上
NamespaceName.Index.getClose( "1",setReturn);


你的aspx 页 的 form 有 runat="server" 么?
没有的话 加上

wdzr_826 2009-08-13
  • 打赏
  • 举报
回复
那你本身这个页面是Index吗?
像这样public partial class Index : System.Web.UI.Page
hel 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 wdzr_826 的回复:]
那你去掉IsPostBack
if (!Page.IsPostBack)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
        }
改为
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
确保Index是你这个页面的类名!
[/Quote]
去掉了 还是说没有定义
ws_hgo 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 wdzr_826 的回复:]
那你去掉IsPostBack
if (!Page.IsPostBack)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
        }
改为
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
确保Index是你这个页面的类名!
[/Quote]
这个要直接在啊page_load里面写
不能在Ispostback里面写
wdzr_826 2009-08-13
  • 打赏
  • 举报
回复
那你去掉IsPostBack
if (!Page.IsPostBack)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
}
改为
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));
确保Index是你这个页面的类名!
ws_hgo 2009-08-13
  • 打赏
  • 举报
回复
http://blog.csdn.net/an3gsonnzhy/archive/2009/02/16/3895203.aspx
ws_hgo 2009-08-13
  • 打赏
  • 举报
回复
public int getClose() 

这个方法得参数了

Index.getClose( "1",setReturn); //这个方法getClose(接收了个"1")然后有个回调函数setReturn
你在服务器端改为getClose(string i)
加载更多回复(6)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧