ajax验证用户名是否存在出错~ 在ajax中post 的在页面中 if (Request.Params["Event"] != null) { s_Parameter_Event= Request.Params["Event"].ToString(); }加个保护 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Request.QueryString["Event"]先判断它是否问空.如果为空ToString()出错.或者Convert.ToString(Request.QueryString["Event"])判断3楼的也可以. string s_Parameter_Event=""; if (Request.Params["Event"]!=null) { s_Parameter_Event = Request.Params["Event"].ToString(); } if (s_Parameter_Event == "CheckName") { if (cm.CheckName(Request["Name"].ToString())) { Response.Write("true"); Response.End(); } else { Response.Write("false"); Response.End(); } }这样写???还是不行嘛? var objEvent = 'CheckName';var url = "DisposeEvent.aspx?Name="+txtName+"&Event="+objEvent; 用3层写的,所有用到的代码如下`~~实在不知道错在哪里~~~SqlHelper类public static class SqlHelper { private static SqlConnection connection; public static SqlConnection Connection { get { string connectionString = ConfigurationManager.ConnectionStrings["SqlDB"].ConnectionString; if (connection == null) { connection = new SqlConnection(connectionString); connection.Open(); } else if (connection.State == System.Data.ConnectionState.Closed) { connection.Open(); } else if (connection.State == System.Data.ConnectionState.Broken) { connection.Close(); connection.Open(); } return connection; } } public static SqlDataReader GetReader(string safeSql) { SqlCommand cmd = new SqlCommand(safeSql, Connection); SqlDataReader reader = cmd.ExecuteReader(); return reader; } }DAL层public class CustomerService { public SqlDataReader CheckName(string cname) { string sqlStr = "select * from customer where CNAME='"+cname+"'"; return SqlHelper.GetReader(sqlStr); } }BLL层public class CustomerManage { private CustomerService cs = new CustomerService(); public bool CheckName(string cname) { if (cs.CheckName(cname).Read()) { return true; } else { return false; } } }js文件var xmlHttp;var objEvent = CheckName;function CheckName(txtName){ createXMLHTTP(); var url = "DisposeEvent.aspx?Name="+txtName+"&Event="+objEvent+""; xmlHttp.open("POST",url,true); xmlHttp.onreadystatechange = checkUserName; xmlHttp.send(null);}function createXMLHTTP(){ if(window.XMLHttpRequest) { xmlHttp=new XMLHttpRequest();//mozilla浏览器 } else if(window.ActiveXObject) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本 } catch(e) {} try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本 } catch(e) {} if(!xmlHttp) { window.alert("不能创建XMLHttpRequest对象实例!"); return false; } }}function checkUserName(){ if(xmlHttp.readyState==4) { if(xmlHttp.status==200) { if(xmlHttp.responseText=="true") { document.getElementById("imgCheck").src="img/true.gif"; //window.alert(xmlHttp.responseText); //document.getElementById("imgCheck").disabled = ""; document.getElementById("btnReg").disabled = false; } else { document.getElementById("imgCheck").src="img/false.gif"; //window.alert(xmlHttp.responseText); //document.getElementById("imgCheck").disabled = ""; document.getElementById("btnReg").disabled = true; } } }}处理方法的页面protected void Page_Load(object sender, EventArgs e) { CustomerManage cm = new CustomerManage(); if (Request.QueryString["Event"].ToString()=="CheckName") if (cm.CheckName(Request.QueryString["Name"].ToString())) { Response.Write(Request.QueryString["Name"].ToString()); Response.End(); } else { Response.Write(Request.QueryString["Name"].ToString()); Response.End(); } }前台的<input id="txtName" type="text" onkeyup="CheckName(document.getElementById('txtName').value);"/> 你看一下你接收到是不是乱码还有你上面的提交方式用GET试试 能运行,也没出错if(xmlHttp.responseText=="true") { document.getElementById("imgCheck").src="img/true.gif"; //window.alert(xmlHttp.responseText); //document.getElementById("imgCheck").disabled = ""; document.getElementById("btnReg").disabled = false; } else { document.getElementById("imgCheck").src="img/false.gif"; //window.alert(xmlHttp.responseText); //document.getElementById("imgCheck").disabled = ""; document.getElementById("btnReg").disabled = true; } 这里每次都不等于true不管输的对还是错 你打印一下看看xmlHttp.responseText是什么 图片路径改为绝对路径../image/true.gif if (cm.CheckName(Request.QueryString["Name"].ToString())) { Response.Clear(); Response.Write(Request.QueryString["Name"].ToString()); Response.End(); } else { Response.Clear(); Response.Write(Request.QueryString["Name"].ToString()); Response.End(); } 这样修改下试试 这行代码怎么加变量,我对格式还没摸清楚... 用fileupload上传文件时如何刷选文件? repeater传参 access数据库的语法问题 asp到aspx的传值问题 C#操作word的问题 如何进行asp.net团体开发?用什么工具?sourcesafe可以吗 goody9807老大,还有点小问题?? 关于梅花雨控件3的时间修改问题 我在ss2000数据库里的text字段读出来的为什么是html执行的结果,而不是代码? 请会的人帮我看看Repeater 分页问题,我是新手,完全不懂。 vs2003转换2005时出现的错误
先判断它是否问空.如果为空ToString()出错.
或者Convert.ToString(Request.QueryString["Event"])判断
3楼的也可以.
if (Request.Params["Event"]!=null)
{
s_Parameter_Event = Request.Params["Event"].ToString();
}
if (s_Parameter_Event == "CheckName")
{
if (cm.CheckName(Request["Name"].ToString()))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false");
Response.End();
}
}这样写???还是不行嘛?
SqlHelper类
public static class SqlHelper
{
private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["SqlDB"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} }DAL层
public class CustomerService
{
public SqlDataReader CheckName(string cname)
{ string sqlStr = "select * from customer where CNAME='"+cname+"'"; return SqlHelper.GetReader(sqlStr);
}
}BLL层public class CustomerManage
{
private CustomerService cs = new CustomerService(); public bool CheckName(string cname)
{
if (cs.CheckName(cname).Read())
{
return true;
}
else
{
return false;
}
}
}js文件
var xmlHttp;
var objEvent = CheckName;
function CheckName(txtName)
{
createXMLHTTP();
var url = "DisposeEvent.aspx?Name="+txtName+"&Event="+objEvent+"";
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = checkUserName;
xmlHttp.send(null);
}
function createXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//mozilla浏览器
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
}
catch(e)
{}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e)
{}
if(!xmlHttp)
{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}
}
function checkUserName()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText=="true")
{
document.getElementById("imgCheck").src="img/true.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = false;
}
else
{
document.getElementById("imgCheck").src="img/false.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = true;
}
}
}
}
处理方法的页面
protected void Page_Load(object sender, EventArgs e)
{
CustomerManage cm = new CustomerManage(); if (Request.QueryString["Event"].ToString()=="CheckName")
if (cm.CheckName(Request.QueryString["Name"].ToString()))
{
Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
else
{
Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
}
前台的
<input id="txtName" type="text" onkeyup="CheckName(document.getElementById('txtName').value);"/>
还有你上面的提交方式用GET试试
if(xmlHttp.responseText=="true")
{
document.getElementById("imgCheck").src="img/true.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = false;
}
else
{
document.getElementById("imgCheck").src="img/false.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = true;
}
这里每次都不等于true不管输的对还是错
../image/true.gif
{
Response.Clear(); Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
else
{
Response.Clear();
Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
这样修改下试试