asp.net 表单验证
我用.NET的验证控件做了个用户注册的页面.我想在确认注册之前能验证用户名是否已经被占用,但是服务器控件会把全部表单内容提交到服务器进行验证,怎么做才能点"验证用户名"按钮时只提交用户名的文本框内容进行验证.而点击"确认注册"按钮时把所有表单内容提交?
我用.NET的验证控件做了个用户注册的页面.我想在确认注册之前能验证用户名是否已经被占用,但是服务器控件会把全部表单内容提交到服务器进行验证,怎么做才能点"验证用户名"按钮时只提交用户名的文本框内容进行验证.而点击"确认注册"按钮时把所有表单内容提交?
答案:通过vs2008自带的ajax功能和控件的自动提交功能可以实现 如下:ScriptManager1, UpdatePanel1是ajax控件,也可以不要;
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>//设置为AutoPostBack="True"
<asp:TextBox ID="txtUname" runat="server" AutoPostBack="True"></asp:TextBox ><asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel><br />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="提交注册" />
</div>
</form>
</body>
//cs文件
在Page_Load中写入
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{if (txtUname.Text != "")
{
string dataName = txtUname.Text;
string sql = "select uname from atable where uname='" + dataName + "'";//执行此sql语句判断是否存在if (dataName == "123")
{
lblMessage.Text = "此账号已经存在!";
}
else
{
lblMessage.Text = "可以注册!";
}
}
}
}
}
如图:输入111文本框失去焦点则提示
你试试 在用户文本框的TextBox1_TextChanged(object sender, EventArgs e)事件 里验证用户是否存在不行吗
上一个:关于ASP.net问题
下一个:ASP.NET调用存储过程