用户登录页面
如果用MS自带的登录控件,不用改一行代码,而且会自带一个数据库,但是界面什么的无法布局,当然也可以编辑布局,但是不怎么方便,我们可以自己用table来写登录页面,以下是遇到的几个问题及解决方式:
1. 用户名,密码不为空的检验
用来获取输入的用户名
拖入验证控件的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 = "用户名或密码错误
请重新登陆";
}
Membership是MS定义好的一个类,应该算是业务逻辑层的代码,ValidateUser之后跳转到登录前的页面。如果失败则将显示之前visible=false的 FailureText。
如果用MS自带的登录控件,不用改一行代码,而且会自带一个数据库,但是界面什么的无法布局,当然也可以编辑布局,但是不怎么方便,我们可以自己用table来写登录页面,以下是遇到的几个问题及解决方式:
1. 用户名,密码不为空的检验
用来获取输入的用户名
拖入验证控件的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 = "用户名或密码错误
请重新登陆";
}
Membership是MS定义好的一个类,应该算是业务逻辑层的代码,ValidateUser之后跳转到登录前的页面。如果失败则将显示之前visible=false的 FailureText。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-526846/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12639172/viewspace-526846/