利用asp.net制作登录页面

** 利用 ** ** asp.net ** ** 制作登录页面 ** ** **

create by 王明刚 2002-05-16

一般在一个系统里总会有一个登录页面,同时,登录页面的制作对于所有系统开发者来说,都是必经之路!

首先,我们先来看看 这个登录页面里主要的功能是:

1. 验证用户输入的数据是否完整!

2. 验证用户输入的数据是否满足要求,比如:姓名是否是 4-10 位字符,密码是否是 4-8 位字符。

3. 同时在这个页面里还用到了 asp.net 的 Pagelet (网页配件)。

现在,我们一起来看看具体是怎么制作这个页面的。

第一. 怎样验证用户输入的数据是否完整,这个做过 asp 的人都能理解。不同的是在 asp.net 里显示信息的话是用 Label.text = … ,表示这个 Label 将要显示的信息。

if userid="" and password=""then

Label2.Text &= " 请输入姓名和密码! "

exit sub

else

if userid=""then

Label2.Text &= " 请输入姓名! "

exit sub

else

if password=""then

Label2.Text &= " 请输入密码! "

exit sub

第二.验证用户输入的数据是否满足要求

在这里使用 asp.net 的 Regularexpressionvalidator 控制元件, Regular Expression 是一种功能强大的字符串定义规则,让我们直接来看个实例:如下图,表单中的〔姓名〕栏必须输入 4-10 个字符,而〔密码〕栏必须输入 4-8 个字符。

姓名 : : [a-zA-Z0-9]{4,10}

密码 : [a-zA-Z0-9]{4,8}

有关以上定义的 Regular Expression 字符串,说明如下:

[] :用来定义可接受的字符, a-z 表示小写的 a-z 都是可以接受的字符, A-Z 也是,还有数字 0-9 都是可以接受的。

{}:用来定义必须输入的字符数,{ 4 , 10 }表示至少含有 4 个字符,最多含有 10 个字符。

现在让我们来看看 Regular Expression 在网页中的布置方法:

1<td> 姓名  :</td>
1<td><asp:textbox id="Text1" runat="server"></asp:textbox>
2
3_ <asp:regularexpressionvalidator _="" controltovalidate="text1" id="valid1" runat="server" validationexpression="[a-zA-Z0-9]{4,10}"> _
4
5_ (  _ _ 请输入  4-10  _ _ 位字符  )  _
6
7_ </asp:regularexpressionvalidator> _ <p>
8</p></td>
 1<tr>
 2<td> 密码  :</td>
 3<td><asp:textbox id="Text2" runat="server" textmode="Password"></asp:textbox>
 4
 5_ <asp:regularexpressionvalidator _="" controltovalidate="text2" id="valid2" runat="server" validationexpression="[a-zA-Z0-9]{4,8}"> _
 6
 7_ (  _ _ 请输入  4-8  _ _ 位字符  )  _
 8
 9_ </asp:regularexpressionvalidator> _ <p>
10
11_ 一般  _ Regular Expression  它是放在要控制的表单元件后面。在网页中,  E-mail,  电话,地址是常见的输入栏,具体使用方法我们通过上面的例子可以举一反三。 
12
13第二.  同时在这个页面里还用到了  asp.net  的  Pagelet  (网页配件)。 
14
15Pagelet  (网页配件)?何谓  Pagelet  (网页配件),说的通俗点的话,就想是圣诞树上的小挂件, 
16
17看页面的上面部分: 
18
19** 我的第一个  ** ** Header  **  
20  
21---  
22  
23_ 2002-4-30 14:49:32  _
24
25和下面部分: 
26
27* * *
28
29学习  asp.net  找我 
30
31这个就是两个  Pagelet  !我们来看看它是怎么制作的: 
32
33在这个登录页面的最上面的两行代码,表示在使用  Pagelet  之前,要先将其登录成为网页可以引用的控件,登录  header.ascx  、  footer.ascx  的标记如下 

@ register tagprefix="wangmg" tagname="header" src="header.ascx"

@ register tagprefix="wangmg" tagname="footer" src="footer.ascx"

 1
 2其中几个属性的设定如下: 
 3
 4Src: Pagelet  来源文件。 
 5
 6Tagname: Pagelet  类别名称,本例是  header  和  footer  。 
 7
 8TagPrefix  :  Pagelet  类别前导名称,本例是:  wangmg  。 
 9
10经过以上的设定之后,  header.ascx  、  footer.ascx  将成为网页可以引用的  Pagelet  ,而  Pagelet  的类别名称是:“  wangmg:Table  ”,定义了类别名称之后,在网页中布置控制元件的标记如下: 
11
12<wangmg:header id="header1" runat="server" title="  我的第一个  Header"></wangmg:header>
13
14除了必须利用  ```
15@ register 
16``` 登录  Pagelet  之外,使用  Pagelet  的方法与使用  asp.netweb  控制元件的方法是完全相同的,也一样可以为  Pagelet  设定  id  ,也一样要将  runat  属性设定成“  server  ”。 
17
18接下去我们看看  header.ascx  、  footer.ascx 
19
20header.ascx  : 
21
22<script language="vb" runat="server">
23
24public title as string 
25
26sub page_load(sender as object,e as eventargs) 
27
28label1.text=title 
29
30label2.text=cstr(filedatetime(server.mappath(request.filepath))) 
31
32end sub 
33
34</script>
35
36footer.ascx: 
37
38<a href="http://asp.6to23.com/musclecn" target="_top">
39
40学习  asp.net  找我  </a>
41
42在这个页面里设定了  title  变量,然后在  login.aspx  页面里定义它的具体内容 
43
44<wangmg:header id="header1" runat="server" title="  我的第一个  Header"></wangmg:header>
45
46附:  login.aspx  : 

@ register tagprefix="wangmg" tagname="header" src="header.ascx"

@ register tagprefix="wangmg" tagname="footer" src="footer.ascx"

@ Import Namespace="System.Data"

@ Import Namespace="System.Data.OleDb"

  1
  2<script language="VB" runat="server">
  3
  4sub IsLoginOK (Sender As Object, E As EventArgs) 
  5
  6if page.isvalid then 
  7
  8Dim Provider, SQL, ConnStr As String 
  9
 10dim userid,password,isok as string 
 11
 12userid=trim(text1.text) 
 13
 14password=trim(text2.text) 
 15
 16if userid="" and password=""then 
 17
 18Label2.Text &= "  请输入姓名和密码!  " 
 19
 20exit sub 
 21
 22else 
 23
 24if userid=""then 
 25
 26Label2.Text &= "  请输入姓名!  " 
 27
 28exit sub 
 29
 30else 
 31
 32if password=""then 
 33
 34Label2.Text &= "  请输入密码!  " 
 35
 36exit sub 
 37
 38else 
 39
 40Provider = "Microsoft.Jet.OLEDB.4.0;" 
 41
 42ConnStr = "Provider=" & Provider & _ 
 43
 44"Data Source=" & Server.MapPath( "Sample.mdb" ) 
 45
 46Dim Conn As OleDbConnection = New OleDbConnection( ConnStr ) 
 47
 48Conn.Open() 
 49
 50SQL = "Select * From Users Where UserID='" & UserID & _ 
 51
 52"' And Password='" & Password & "'" 
 53
 54Dim Cmd As OleDbCommand 
 55
 56Cmd = New OleDbCommand( SQL, Conn ) 
 57
 58Dim Adapter As OleDbDataAdapter = New OleDbDataAdapter 
 59
 60Adapter.SelectCommand = Cmd 
 61
 62Dim ds As DataSet = new DataSet() 
 63
 64Adapter.Fill(ds, "Users") 
 65
 66Dim dt As DataTable = ds.Tables("Users") 
 67
 68If dt.Rows.Count > 0 Then 
 69
 70isok=true 
 71
 72dim i,m as integer 
 73
 74i=0 
 75
 76m=3 
 77
 78Label1.Text &= "user: " & userid & "<br>" 
 79
 80Label1.Text &= "password: " & password & "<br>" 
 81
 82Label1.Text &= "  登录成功  " & "<br>" 
 83
 84session("ok") = "" & dt.Rows(i).Item(m)  & "<br>" 
 85
 86response.redirect ("first.aspx") 
 87
 88Else 
 89
 90isok=false 
 91
 92Label1.Text &= "user: " & userid & "<br>" 
 93
 94Label1.Text &= "password: " & password & "<br>" 
 95
 96Label1.Text &= "  登录失败  " & "<br>" 
 97
 98End If 
 99
100end if 
101
102end if 
103
104end if 
105
106else 
107
108exit sub 
109
110end if 
111
112End sub 
113
114</script>
115<html>
116<title> 我的登录页面  </title>
117<body bgcolor="White">
118<wangmg:header id="header1" runat="server" title="  我的第一个  Header"></wangmg:header>
119<h3> 登录页面  <hr/></h3>
120<form runat="server">
121<table bgcolor="white" bordercolor="Black" cellspacing="10">
122<tr>
123<td> 姓名  :</td>
124<td><asp:textbox id="Text1" runat="server"></asp:textbox>
125<asp:regularexpressionvalidator controltovalidate="text1" id="valid1" runat="server" validationexpression="[a-zA-Z0-9]{4,10}">
126
127(  请输入  4-10  位字符  ) 
128
129</asp:regularexpressionvalidator><p>
130</p></td>
131</tr>
132<tr>
133<td> 密码  :</td>
134<td><asp:textbox id="Text2" runat="server" textmode="Password"></asp:textbox>
135<asp:regularexpressionvalidator controltovalidate="text2" id="valid2" runat="server" validationexpression="[a-zA-Z0-9]{4,8}">
136
137(  请输入  4-8  位字符  ) 
138
139</asp:regularexpressionvalidator><p>
140</p></td>
141</tr>
142<tr>
143<td></td>
144<td><asp:button id="button1" onclick="IsLoginOK" runat="server" text="  确定  "></asp:button></td>
145</tr>
146</table>
147</form>
148<asp:label id="Label1" runat="server"></asp:label>
149<asp:label id="Label2" runat="server"></asp:label>
150<wangmg:footer id="footer1" runat="server"></wangmg:footer>
151</body>
152</html>
153
154#  Header.ascx 
155
156<script language="vb" runat="server">
157
158public title as string 
159
160sub page_load(sender as object,e as eventargs) 
161
162label1.text=title 
163
164label2.text=cstr(filedatetime(server.mappath(request.filepath))) 
165
166end sub 
167
168</script>
169<table bgcolor="#AAAADD" border="1" cellpadding="2" cellspacing="0" width="100%">
170<tr>
171<td align="center"><font size="4">
172<b><asp:label id="Label1" runat="server"></asp:label>
173</b></font>
174</td>
175</tr>
176</table>
177<div align="right"><address><font size="-1">
178<asp:label id="Label2" runat="server"></asp:label>
179</font></address></div>
180
181
182footer.ascx 
183
184<div align="right">
185<hr/>
186<a href="http://asp.6to23.com/musclecn" target="_top">
187
188学习  asp.net  找我  </a>
189</div>
190
191这就是这个登录页面简单教程,因为对  asp.net  接触的时间并不长,所以难免有错误的地方,欢迎大家批评指正,有不明白的地方欢迎发邮件给我:  [email protected] 
192
193created by  王明刚(  musclecn  ) 
194
195websize:www.musclecn.com 
196
197E-mail:[email protected] 
198
199&lt;P class=MsoNo</p></td></tr>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus