LoginControl.ascx:
<
%@ Control
Language
="vb"
AutoEventWireup
="false"
Codebehind
="LoginControl.ascx.vb"
Inherits ="BooksShop.LoginControl" % >
< asp:Panel ID ="Panel1" runat ="server" >
用户名: < asp:TextBox ID ="UserNameTB" runat ="server" ></ asp:TextBox >< asp:RequiredFieldValidator
ID ="RequiredFieldValidator1" runat ="server" ErrorMessage ="*" ControlToValidate ="UserNameTB" ></ asp:RequiredFieldValidator >< %=Stylebr % >
密码: < asp:TextBox ID ="PassWDTB" runat ="server" TextMode ="Password" ></ asp:TextBox >< asp:RequiredFieldValidator
ID ="RequiredFieldValidator2" runat ="server" ControlToValidate ="PassWDTB" ErrorMessage ="*" ></ asp:RequiredFieldValidator >< %=Stylebr % >
< asp:Button ID ="SubmitBT" runat ="server" Text ="登录" OnClick ="SubmitBT_Click" />< %=Stylebr % >
</ asp:Panel >
< asp:Label ID ="Label1" runat ="server" Visible ="False" ></ asp:Label >
Inherits ="BooksShop.LoginControl" % >
< asp:Panel ID ="Panel1" runat ="server" >
用户名: < asp:TextBox ID ="UserNameTB" runat ="server" ></ asp:TextBox >< asp:RequiredFieldValidator
ID ="RequiredFieldValidator1" runat ="server" ErrorMessage ="*" ControlToValidate ="UserNameTB" ></ asp:RequiredFieldValidator >< %=Stylebr % >
密码: < asp:TextBox ID ="PassWDTB" runat ="server" TextMode ="Password" ></ asp:TextBox >< asp:RequiredFieldValidator
ID ="RequiredFieldValidator2" runat ="server" ControlToValidate ="PassWDTB" ErrorMessage ="*" ></ asp:RequiredFieldValidator >< %=Stylebr % >
< asp:Button ID ="SubmitBT" runat ="server" Text ="登录" OnClick ="SubmitBT_Click" />< %=Stylebr % >
</ asp:Panel >
< asp:Label ID ="Label1" runat ="server" Visible ="False" ></ asp:Label >
LoginControl.ascx.vb:
Imports
System.ComponentModel
Imports System.Web.UI.Design.WebControls
Imports BooksShop.Users
< Designer( GetType (CompositeControlDesigner)) > _
< ParseChildren( False ) > _
Partial Public Class LoginControl Class LoginControl
Inherits System.Web.UI.UserControl
Dim _stylebr As String = ""
<Description("指示是否换行")> _
Public Property Stylebr()Property Stylebr() As String
Get
Return Me._stylebr
End Get
Set(ByVal value As String)
Me._stylebr = IIf(value = Nothing, "", value.Trim)
End Set
End Property
Protected Sub Page_Load()Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Session("LoginUser") = Nothing
End If
End Sub
Protected Sub SubmitBT_Click()Sub SubmitBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim userName As String = UserNameTB.Text.Trim
Dim userPassword As String = PassWDTB.Text.Trim
Dim chUser As New CheckedUser(userName)
Dim loginResult As Boolean = False
Dim isManager As Boolean = False
Try
If chUser.checkUser(userName, userPassword) Then
loginResult = True
ElseIf chUser.checkManager(userName, userPassword) Then
loginResult = True
isManager = True
End If
Catch ex As Exception
Debug.Write(ex.Message)
End Try
If loginResult Or isManager Then
Session("LoginUser") = chUser
Label1.Text = userName & ",欢迎您回来"
Else
Label1.Text = "登录失败"
End If
Panel1.Visible = False
Label1.Visible = True
End Sub
End Class
Imports System.Web.UI.Design.WebControls
Imports BooksShop.Users
< Designer( GetType (CompositeControlDesigner)) > _
< ParseChildren( False ) > _
Partial Public Class LoginControl Class LoginControl
Inherits System.Web.UI.UserControl
Dim _stylebr As String = ""
<Description("指示是否换行")> _
Public Property Stylebr()Property Stylebr() As String
Get
Return Me._stylebr
End Get
Set(ByVal value As String)
Me._stylebr = IIf(value = Nothing, "", value.Trim)
End Set
End Property
Protected Sub Page_Load()Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Session("LoginUser") = Nothing
End If
End Sub
Protected Sub SubmitBT_Click()Sub SubmitBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim userName As String = UserNameTB.Text.Trim
Dim userPassword As String = PassWDTB.Text.Trim
Dim chUser As New CheckedUser(userName)
Dim loginResult As Boolean = False
Dim isManager As Boolean = False
Try
If chUser.checkUser(userName, userPassword) Then
loginResult = True
ElseIf chUser.checkManager(userName, userPassword) Then
loginResult = True
isManager = True
End If
Catch ex As Exception
Debug.Write(ex.Message)
End Try
If loginResult Or isManager Then
Session("LoginUser") = chUser
Label1.Text = userName & ",欢迎您回来"
Else
Label1.Text = "登录失败"
End If
Panel1.Visible = False
Label1.Visible = True
End Sub
End Class
在AJAX环境下的测试代码:
Test.aspx:
<
%@ Page
Language
="vb"
AutoEventWireup
="false"
Codebehind
="Test.aspx.vb"
Inherits
="BooksShop.Test"
%
>
< %@ Register Src ="Control/LoginControl.ascx" TagName ="LoginControl" TagPrefix ="uc1" % >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 黎摄文自定义登录控件测试 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</ asp:ScriptManager >
< asp:UpdatePanel ID ="UpdatePanel1" runat ="server" >
< ContentTemplate >
< uc1:LoginControl ID ="LoginControl1" runat ="server" Stylebr ="<br />" ></ uc1:LoginControl >
</ ContentTemplate >
</ asp:UpdatePanel >
< br />
< asp:UpdateProgress ID ="UpdateProgress1" runat ="server" AssociatedUpdatePanelID ="UpdatePanel1" >
< ProgressTemplate >
< img src ="Images/indicator.gif" alt ="" /> Loading...
</ ProgressTemplate >
</ asp:UpdateProgress >
</ div >
</ form >
</ body >
</ html >
< %@ Register Src ="Control/LoginControl.ascx" TagName ="LoginControl" TagPrefix ="uc1" % >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > 黎摄文自定义登录控件测试 </ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</ asp:ScriptManager >
< asp:UpdatePanel ID ="UpdatePanel1" runat ="server" >
< ContentTemplate >
< uc1:LoginControl ID ="LoginControl1" runat ="server" Stylebr ="<br />" ></ uc1:LoginControl >
</ ContentTemplate >
</ asp:UpdatePanel >
< br />
< asp:UpdateProgress ID ="UpdateProgress1" runat ="server" AssociatedUpdatePanelID ="UpdatePanel1" >
< ProgressTemplate >
< img src ="Images/indicator.gif" alt ="" /> Loading...
</ ProgressTemplate >
</ asp:UpdateProgress >
</ div >
</ form >
</ body >
</ html >
自己最近写的,先上传一份到Blog里备用J