如果报错类未定义,或者是命名空间未定义,
首先看看AjaxPro页面注册,要在page_load里面注册
namespace AdoNetDemo
{
public partial class Add : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Add));
}
}
注意Add与页面类名Add要保持一致,这里可以忽略命名空间,直接写类名
比喻做一个注册验证用户名是否重复,方法如下
/// <summary>
///判断用户名是否存在
/// </summary>
/// <param name="name">用户名</param>
[AjaxPro.AjaxMethod]
public bool CheckName(string name)
{
return stubll.ExistName(name);//调用BLL方法,就不列出了.
}
下面是前台调用页面Ajax方法
function checkName() {
var result = AdoNetDemo.Add.CheckName(document.getElementById("txtname").value);
if (result==true) {
document.getElementById("Error").innerHTML = "对不起,他妈的有人占了.";
}
}
注意调用方法时候,要用命名空间.类名.方法,如果你没写上命名空间会抱这个错误的
如果这些都没出错,仍然报错”类名未定义”
那么请检查web.config是否配置了
.AjaxPro.2.dll在web.config中的配置如下:
在<system.web>节点下配置
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
如果还报错..你再仔细找找,哥是真不知道了.
如果排斥了上述错误.报错对象不支持此方法或属性那就代表该页面实例找不到你写在后台的Ajax方法
,那么看看你的写的方法是不是Public类型.如果是private,它当然找不到了.哥今天就是犯了这
个愚蠢的错误,浪费了我一个多小时的光阴,很低级的错误.哥脸红了...