当前位置:编程学习 > C#/ASP.NET >>

asp.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调用存储过程

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,