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>按以上设置以后,实现检测用户和判断是否为空都正常,在按钮的事件中实现插入数据的时候,都是错的,也会提示插入成功,这要怎么解决???
<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>按以上设置以后,实现检测用户和判断是否为空都正常,在按钮的事件中实现插入数据的时候,都是错的,也会提示插入成功,这要怎么解决???
解决方案 »
- response和request
- 问卷调查系统如何实现问题之间的跳转
- 求一正则,100分奉上------------
- 谁有源代码
- 为什么asp.net app_data文件夹下的数据库文件 附加到数据库 名字是这样?
- ········在线等OnItemCreated的问题???··········
- 本人0分:(想不同,所以问)GridView绑定的行首Text显示问题
- 网站后台登陆不进去,一登就掉,是什么原因???
- 关于ADO的问题
- 我怎么无法向sql server插入数据??
- 从数据库中取到客户端,验证javascript正则表达式时,转码出错(反斜线丢失),请教如何解决?
- brucelee013接分!
服务器端的控件不能这样添加前台的方法的要在后台通过控件的属性Attributes来添加的
{
TextBox1.Attributes.Add("onblur", "return ValidateInputData();");
}看下 行吗
你这样固定判断还不如在前台判断呢
只要插入的时候没判断,这句就插入进去了
public string ValidateInput(string userName)
{
if(userName.Equals("xxx"))
return "用户名已存在,请选用其它用户名";
else
return "用户不存在,可以使用!";
}
我都是这样做的,如果感觉不好,直接.disabled = true
通过以后.disabled = false
有时候我都这样做
数据验证不通过,就直接禁用按钮
我的添加管理员实例
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(Admin_AddAdmin));
......
//Ajax 检查用户焦点应用
tbxUserName.Attributes.Add("onblur", "JsCheckAdminName()");
[AjaxPro.AjaxMethod]
public int CheckAdminName(string AdminName)
{
if (AdminName == "")
{
return 1;
}
else
{
//检查数据是否存在,存储过程就自己写了,这个应该很简单的
int i = Convert.ToInt32(cmd.ExecuteScalar("Ly_ChkAddUserName"));
if (i > 0)
{
return 1;
}
else
{
return 0;
}
}
}
这里返回1和0,为0则允许注册,为1不允许前台JS处理 function JsCheckAdminName(){
var ReturnValue=0;
var AdminName = document.form1.tbxUserName.value.trim();
if(AdminName.length<6||AdminName.length>16||isRegisterUserName(AdminName)==false)
{
document.getElementById("lblMsg").innerHTML=""
}
else
{
document.getElementById("lblMsg").innerHTML="正在检查用户名......"
ReturnValue=Admin_AddAdmin.CheckAdminName(AdminName).value;
var msg=document.getElementById("lblMsg");
if(ReturnValue == 0)
{
msg.innerHTML="该用户名可以使用!";
document.form1.btnSubmit.disabled = false;//允许保存信息
}
else
{
msg.innerHTML="对不起,该用户名已经被使用,请重新填写一个用户名";
document.form1.btnSubmit.disabled = true;//将保存按钮禁用掉
}
}
}这个应该很简单的了吧
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^([a-zA-Z0-9]|[._]){6,16}$/;
if (!patrn.exec(s)) return false
return true
}