web.config的配置: <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>C#代码: AjaxPro.Utility.RegisterTypeForAjax(typeof(Login));
[AjaxPro.AjaxMethod]
public string PDUserName()
{
string str = "";
DataTable dt = userAdapter.GetData();
DataRow[] rows = dt.Select("user_code='" + tbUserName.Text + "'");
try
{
if (rows[0]["user_code"].ToString().Trim() == tbUserName.Text.Trim())
{
str = "正确";
}
}
catch (Exception ex)
{
str = "错误";
}
return str;
}
javascript代码:function fs()
{
var str="";
str=Login.PDUserName().value;
alert(str);
}结果:str=null;就是说取不到PDUserName()方法返回的值,拜托各位帮忙看下什么原因,在PDUserName()方法中设断点,发现根本没有进到这个方法里去,为什么
[AjaxPro.AjaxMethod]
public string PDUserName()
{
string str = "";
DataTable dt = userAdapter.GetData();
DataRow[] rows = dt.Select("user_code='" + tbUserName.Text + "'");
try
{
if (rows[0]["user_code"].ToString().Trim() == tbUserName.Text.Trim())
{
str = "正确";
}
}
catch (Exception ex)
{
str = "错误";
}
return str;
}
javascript代码:function fs()
{
var str="";
str=Login.PDUserName().value;
alert(str);
}结果:str=null;就是说取不到PDUserName()方法返回的值,拜托各位帮忙看下什么原因,在PDUserName()方法中设断点,发现根本没有进到这个方法里去,为什么
str=Login.PDUserName().value; 改成str=NameSpace.Login.PDUserName().value;
str=Login.PDUserName().value; 改成str=NameSpace.Login.PDUserName().value;
namespace WebApplication
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
}
}
Login.PDUserName(callback);
...function callback(res)
{
if(res.error == null )
{
alert(res.value)
}
}
这个js函数你是在哪调用的?
{
var str="";
str=Login.PDUserName().value;
alert(str);
} 改成
function fs()
{
var str="";
str=(Login.PDUserName()).value;
alert(str);
} 试试
Width="128px" BorderStyle="None" onblur="fs();" ></asp:TextBox>
在这里调用的
在后台的PDUserName函数中加个参数哈,如:PDUserName(int a)
function fs()
{
Login.PDUserName(1,callback);
}
function callback(obj)
{
var str="";
str=obj.value;
alert(str);
}