Asp.net 2.0 用Membership自己写登录页面

来源:互联网 发布:php mysql是什么 编辑:程序博客网 时间:2024/06/07 17:55

用户登录页面

如果用MS自带的登录控件,不用改一行代码,而且会自带一个数据库,但是界面什么的无法布局,当然也可以编辑布局,但是不怎么方便,我们可以自己用table来写登录页面,以下是遇到的几个问题及解决方式:

1. 用户名,密码不为空的检验

     用<asp:textbox   id=username>来获取输入的用户名

     拖入验证控件的RequiredFieldValidator (用来保证输入不为空),设置    

     ControlToValidate=username  ,ErrorMessage="请输入用户名"即可

    注意:ValidateGroup要为空,否则验证控件不管用,我还不知道为啥

              如果设置了Text则当没有输入的时候会显示Text,也不会显示ErrorMessage

  2:用tab切换时,从用户名的输入框切换到密码的输入框

有时不碰巧不能自动实现,设置用户名输入框的TebIndex=1,密码的  TebIndex=2,登录按钮的TebIndex=3.要从1开始设置,要不不管用。

 3: 按下登录按钮以后执行的事件

 protected void btnLogin_Click(object sender, ImageClickEventArgs e)
    {
        if (Membership.ValidateUser(UserName.Text, Password.Text))
        {
           
            FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
        }
        else
            FailureText.Text = "用户名或密码错误<br/>请重新登陆";
    }

  Membership是MS定义好的一个类,应该算是业务逻辑层的代码,ValidateUser之后跳转到登录前的页面。如果失败则将显示之前visible=false的 FailureText。

PS:自己遇到的一些问题参考csdn+google总结一下,可能有理解不对的地方。