初试AJAX就发生一个错误,烦劳各位帮忙~附完整代码......

i169net1 2006-04-28 03:45:57
我是按一个最基础的例子做的:
1、在Bin目录下放置:Ajax.dll文件
2、在Web.config文件中加入:
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.AjaxHandlerFactory, Ajax" />
</httpHandlers>
3、建立一个AjaxMethod.cs文件:
using System;
namespace sys.ck
{
public class AjaxMethod
{
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public static string GetNIVNumber(string str)
{
return str;
}
}
}
4、再建立一个AjaxForm.aspx及其后台AjaxForm.aspx.cs:
<%@ Page language="c#" Codebehind="AjaxForm.aspx.cs" AutoEventWireup="false" Inherits="sys.ck.AjaxForm" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>AjaxForm</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="javascript">
function testAjax(owner, item, evt)
{
var first=document.getElementById("txtfirst");
AjaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber);
}
function callback_GetNIVNumber(res)
{
var obj=document.getElementById("txtsecond");
obj.value=res.value;
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 40px" type="button" value="Button" onclick="testAjax();">
<asp:TextBox id="txtfirst" style="Z-INDEX: 102; LEFT: 40px; POSITION: absolute; TOP: 40px" runat="server"></asp:TextBox>
<asp:TextBox id="txtsecond" style="Z-INDEX: 103; LEFT: 40px; POSITION: absolute; TOP: 72px" runat="server"></asp:TextBox>
</form>
</body>
</HTML>
后台:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace sys.ck
{
public class AjaxForm : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox txtfirst;
protected System.Web.UI.WebControls.TextBox txtsecond;

private void Page_Load(object sender, System.EventArgs e)
{
//注册,其中sys.ck.AjaxMethod为AjaxMethod.cs方法所在的命名空间
Ajax.Utility.RegisterTypeForAjax(typeof(sys.ck.AjaxMethod));
}
}
}

-------------------------------------------------------------------------------------
错误提示:
在AjaxMethod.cs文件中的
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] 语句有问题...
找不到Ajax类,缺少Using引用?

--------------------------------------------------------------------------------------

第一次使用AJAX,真的不知道是哪里的问题,望各位帮帮忙啊.....
谢谢!
...全文
145 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
活靶子哥哥 2006-04-29
  • 打赏
  • 举报
回复
添加引用
i169net1 2006-04-29
  • 打赏
  • 举报
回复
UP........
i169net1 2006-04-28
  • 打赏
  • 举报
回复
我用的是
vs.net 2003
.NET Framework v1.1

目录结构:根目录sys(有web.config)---子目录 bin(放ajax.dll)
---子目录 ck (放这几个测试程序)


i169net1 2006-04-28
  • 打赏
  • 举报
回复
加了using Ajax;
也改了 public class AjaxMethod 为 public class myAjaxMethod

还是同样的错误,难道是web.config的问题,它是在网站根目录root中的,我现在这几个程序是在root/ajaxtest/下的,是否要在此子目录下再建一个web.config...又感觉没必要这样...

jeffamy 2006-04-28
  • 打赏
  • 举报
回复
[AjaxPro.AjaxMethod]
活靶子哥哥 2006-04-28
  • 打赏
  • 举报
回复
1 先把这个 public class AjaxMethod名字改了试试
2 添加引用ajax.dll
jrl5365 2006-04-28
  • 打赏
  • 举报
回复
不是和你说了,你没用引用吗...你在你的项目中要引用
真相重于对错 2006-04-28
  • 打赏
  • 举报
回复
添加引用
using Ajax命名空间

62,039

社区成员

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

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

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

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