Original User Login server control [vb.net]

Source: Internet
Author: User
Tags contains
Server | control | Original self-study. NET year, the first user login control written by yourself
Event Checkedresult, this event parameter E inherits from EventArgs, contains username, password, login legality (boolean value)
Event Enterempty, raised when user name, password style box is null
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data.SqlClient
") > Public Class Login
Inherits System.Web.UI.WebControls.WebControl
Implements IPostBackDataHandler
Public Delegate Sub checkedevent (ByVal sender as Object, ByVal e as Loginevent)
Public Event Enterempty as EventHandler
Public Event Checkedresult as Checkedevent
Private _user as String
Private _pass as String
Private _database as String
Private _datatable as String
Private _databaseusername as String
Private _databasepass as String
Private _server as String
Private _coluser as String
Private _colpass as String
Private _txtuser as String
Private _txtpass as String
Public Property Coluser () as String attribute--User name field
Get
Return _coluser
End Get
Set (ByVal value as String)
_coluser = value
End Set
End Property
Public Property Colpass () as String attribute--Password field
Get
Return _colpass
End Get
Set (ByVal value as String)
_colpass = value
End Set
End Property
Public properties Server () as String property--sql server name
Get
Return _server
End Get
Set (ByVal value as String)
_server = value
End Set
End Property
Public Property DatabaseUserName () as String properties--Database logon user
Get
Return _databaseusername
End Get
Set (ByVal value as String)
_databaseusername = value
End Set
End Property
Public Property Databasepass () as String properties--Database login password
Get
Return _databasepass
End Get
Set (ByVal value as String)
_databasepass = value
End Set
End Property
Public Property Database () as String attribute--database name
Get
Return _database
End Get
Set (ByVal value as String)
_database = value
End Set
End Property
Public properties DataTable () as String Property--datasheet
Get
Return _datatable
End Get
Set (ByVal value as String)
_datatable = value
End Set
End Property
Private ReadOnly Property ConnStr () As String attribute--Compose connection string
Get
Dim _connstr as New Text.stringbuilder ()
With _connstr
. Append ("server=" & Server & ";")
. Append ("Initial catalog=" & DataBase & ";")
. Append ("User id=" & DatabaseUserName & ";")
. Append ("password=" & Databasepass & ";")
End With
Return _connstr.tostring
End Get
End Property
Private Property Txtuser () as String attribute--Gets User name text box value
Get
Return _txtuser
End Get
Set (ByVal value as String)
_txtuser = value
End Set
End Property
Private Property Txtpass () as String attribute--Get password text box value
Get
Return _txtpass
End Get
Set (ByVal value as String)
_txtpass = value
End Set
End Property
Private Sub Checkinit () procedure-Verifying integrity of connection database strings
If DataBase = "" or DataTable = "" or DatabaseUserName = "" or Databasepass = "" Then
Throw New Exception ("Missing appropriate parameters!")
End If
End Sub
Protected Overrides Sub Render (ByVal writer as System.Web.UI.HtmlTextWriter) render server control
Try
Checkinit ()
Writer. RenderBeginTag (htmltextwritertag.table)
Writer. RenderBeginTag (htmltextwritertag.tr)
Writer. RenderBeginTag (HTMLTEXTWRITERTAG.TD)
Writer. Write ("User name:")
Writer. RenderEndTag ()
Writer. RenderBeginTag (HTMLTEXTWRITERTAG.TD)
Writer. AddAttribute (Htmltextwriterattribute.type, "TextBox")
Writer. AddAttribute (Htmltextwriterattribute.name, Me.uniqueid & ": User")
Writer. AddAttribute (Htmltextwriterattribute.maxlength, "30")
Writer. RenderBeginTag (Htmltextwritertag.input)
Writer. RenderEndTag ()
Writer. RenderEndTag ()
Writer. RenderEndTag ()
Writer. RenderBeginTag (htmltextwritertag.tr)
Writer. RenderBeginTag (HTMLTEXTWRITERTAG.TD)
Writer. Write ("Password:")
Writer. RenderEndTag ()
Writer. RenderBeginTag (HTMLTEXTWRITERTAG.TD)
Writer. AddAttribute (Htmltextwriterattribute.type, "Password")
Writer. AddAttribute (Htmltextwriterattribute.name, Me.uniqueid & ":P ass")
Writer. AddAttribute (Htmltextwriterattribute.maxlength, "30")
Writer. RenderBeginTag (Htmltextwritertag.input)
Writer. RenderEndTag ()
Writer. RenderEndTag ()
Writer. RenderEndTag ()
Writer. RenderBeginTag (htmltextwritertag.tr)
Writer. AddAttribute (Htmltextwriterattribute.cols, "2")
Writer. RenderBeginTag (HTMLTEXTWRITERTAG.TD)
Writer. AddAttribute (Htmltextwriterattribute.type, "submit")
Writer. AddAttribute (Htmltextwriterattribute.name, Me.uniqueid)
Writer. AddAttribute (Htmltextwriterattribute.value, "submit")
Writer. RenderBeginTag (Htmltextwritertag.input)
Writer. RenderEndTag ()
Writer. RenderEndTag ()
; Writer. RenderEndTag ()
Writer. RenderEndTag ()
Catch _error as Exception
System.Web.HttpContext.Current.Response.Write ("Failed to complete the request, the error message is as follows:" & _error. Message)
Exit Sub
End Try
End Sub
Public Function LoadPostData (ByVal postdatakey as String, ByVal postcollection as System.Collections.Specialized.NamevalueCollection) as Boolean Implements System.Web.UI.IPostBackDataHandler.LoadPostData
Dim _txtusername as String = Postcollection (Me.uniqueid & ": User")
Dim _txtpass as String = Postcollection (Me.uniqueid & ":P ass")
If _txtusername = "" Or _txtpass = "" Then
Return True
Else
Txtuser = _txtusername
Txtpass = _txtpass
Oncheckmain ()
Return False
End If
End Function public Sub raisepostdatachangedevent () Implements System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent
RaiseEvent Enterempty (Me, New EventArgs ())
End Sub
Private Sub Oncheckmain () validates the legality of the user, raising the Checkedresult event
Dim _connstr as String = ConnStr
Dim _conn as New SqlConnection (_CONNSTR)
Dim _comm as New SqlCommand ()
Dim _datareader as SqlDataReader
Try
_comm. Connection = _conn
_comm. CommandText = "select * from" & DataTable & "where" & coluser & "=" & Txtuser & "and" & Colpass & "=" & Txtpass & ""
_comm.commandtype = CommandType.Text
_conn. Open ()
_datareader = _comm. ExecuteReader (commandbehavior.closeconnection)
If _datareader.read Then
RaiseEvent Checkedresult (Me, New loginevent (Txtuser, Txtpass, True)
Else
RaiseEvent Checkedresult (Me, New loginevent (Txtuser, Txtpass, False)
End If
_datareader.close ()
Catch _error as Exception
Throw New Exception (_error. Message)
Finally
If _conn. State = ConnectionState.Open Then _conn. Close ()
End Try
End Sub
End Class
---------------------------------------------------------Source 2
2004.6.10
Programmer by CZCLK
Custom event class Loginevent, this event argument E inherits from EventArgs, contains username, password, login legality (boolean value)
Public Class Loginevent
Inherits EventArgs
Public Sub New ()
End Sub
Public Sub New (ByVal user As String, ByVal Pass as String, ByVal result as Boolean)
_username = user
_userpass = Pass
_checkedpass = result
End Sub
Private _username as String
Private _userpass as String
Private _checkedpass as Boolean
Public Property Checkpass () as Boolean
Get
Return _checkedpass
End Get
Set (ByVal value as Boolean)
_checkedpass = value
End Set
End Property
Public Property UserName () as String
Get
Return _username
End Get
Set (ByVal value as String)
_username = value
End Set
End Property
Public Property Userpass () as String
Get
Return _userpass
End Get
Set (ByVal value as String)
_userpass = value
End Set
End Property
End Class


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.