读书人

AJAX+.NET实现会员注册中的有关问题~

发布时间: 2012-01-24 23:11:54 作者: rapoo

AJAX+.NET实现会员注册中的问题~!
1.首先在web.config中配置好
<httpHandlers>
<add verb= "POST,GET " path= "ajax/*.ashx " type= "Ajax.PageHandlerFactory, Ajax " />
</httpHandlers>

2.
private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(clsValdate) ,this);
}
3.
internal class clsValdate
{
[Ajax.AjaxMethod]
public string ValidateInput(string userName)
{
string su = "xxx ";
//可以在这里操作.
string retVal = "用户不存在,可以使用! ";

if(userName.Equals(su))
retVal = "用户名已存在,请选用其它用户名 ";

return retVal;
}
}

4.
<script language= "javascript " type= "text/javascript ">
function ValidateInputData()
{
var txt = document.all[ "txtUserName "];

if(txt.value == " ")
{
Show( "用户名不能为空 ");
return false;
}

var _value = clsValdate.ValidateInput(txt.value).value;
if(_value != null)
{
Show(_value);
}

return true;
}

function Show(message)
{
var objMessage = document.all[ "spMessage "];
objMessage.style.display = " ";
objMessage.innerText = message;
}
</script>
5.
<table width= "450 " align= "center " cellpadding= "2 ">
<tr>
<td colspan= "2 " height= "20px " align= "center "> <span id= "spMessage " style= "display:none; " class= "ms "> </span> </td>
</tr>
<tr>
<td align= "right "> 用户名 </td>
<td>
<asp:TextBox id= "txtUserName " onblur= "return ValidateInputData(); " runat= "server " CssClass= "tb "> </asp:TextBox> </td>
</tr>
<tr>
<td align= "right "> 密码 </td>
<td>
<asp:TextBox id= "TextBox2 " runat= "server " CssClass= "tb "> </asp:TextBox> </td>
</tr>
<tr>
<td align= "right "> 确认密码 </td>
<td>
<asp:TextBox id= "TextBox3 " runat= "server " CssClass= "tb "> </asp:TextBox> </td>
</tr>
<tr>
<td colspan= "2 " align= "center ">
<asp:Button id= "btnSubmit " runat= "server " Text= "Submit " CssClass= "tb "> </asp:Button> </td>
</tr>
</table>

按以上设置以后,实现检测用户和判断是否为空都正常,在按钮的事件中实现插入数据的时候,都是错的,也会提示插入成功,这要怎么解决???

[解决办法]
<asp:TextBox id= "txtUserName " onblur= "return ValidateInputData(); " runat= "server " CssClass= "tb ">
服务器端的控件不能这样添加前台的方法的



要在后台通过控件的属性Attributes来添加的
[解决办法]
学习中
[解决办法]
你把clsValdate.ValidateInput(txt.value).value 的值弹出来看下
[解决办法]
[Ajax.AjaxMethod]
public string ValidateInput(string userName)
{
if(userName.Equals( "xxx "))
return "用户名已存在,请选用其它用户名 ";
else
return "用户不存在,可以使用! ";
}
[解决办法]
或者在提交button里面OnClientClick= "return Check
我都是这样做的,如果感觉不好,直接.disabled = true
通过以后.disabled = false
有时候我都这样做
数据验证不通过,就直接禁用按钮
[解决办法]
帮忙顶,接分谢谢
[解决办法]
帮顶 学习中 jf

读书人网 >asp.net

热点推荐