利用ASP.NET制作登录页面XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
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个字符。
2003-9-16937380.png" o:title="">
姓名::[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在网页中的布置方法:
姓名:
validationexpression="[a-zA-Z0-9]{4,10}">
(请输入4-10位字符)
密码:
validationexpression="[a-zA-Z0-9]{4,8}">
(请输入4-8位字符)
一般Regular Expression它是放在要控制的表单元件后面。在网页中,E-Mail,电话,地址是常见的输入栏,具体使用方法我们通过上面的例子可以举一反三。
第二. 同时在这个页面里还用到了asp.net的Pagelet(网页配件)。
Pagelet(网页配件)?何谓Pagelet(网页配件),说的通俗点的话,就想是圣诞树上的小挂件,
看页面的上面部分:
我的第一个Header
2002-4-30 14:49:32
和下面部分:
这个就是两个Pagelet!我们来看看它是怎么制作的:
在这个登录页面的最上面的两行代码,表示在使用Pagelet之前,要先将其登录成为网页可以引用的控件,登录header.ascx、footer.ascx的标记如下
其中几个属性的设定如下:
Src: Pagelet来源文件。
Tagname: Pagelet类别名称,本例是header和footer。
TagPrefix:Pagelet类别前导名称,本例是:wangmg。
经过以上的设定之后,header.ascx、footer.ascx将成为网页可以引用的Pagelet,而Pagelet的类别名称是:“wangmg:Table”,定义了类别名称之后,在网页中布置控制元件的标记如下:
除了必须利用登录Pagelet之外,使用Pagelet的方法与使用asp.netweb控制元件的方法是完全相同的,也一样可以为Pagelet设定id,也一样要将runat属性设定成“server”。
接下去我们看看header.ascx、footer.ascx
header.ascx:
public title as string
sub page_load(sender as object,e as eventargs)
label1.text=title
label2.text=cstr(filedatetime(server.mappath(request.filepath)))
end sub
footer.ascx:
学习asp.net找我
在这个页面里设定了title变量,然后在login.aspx页面里定义它的具体内容
附:login.aspx:
db" %>
sub IsLoginOK (Sender As Object, E As EventArgs)
if page.isvalid then
Dim Provider, sql, ConnStr As String
dim userid,password,isok as string
userid=trim(text1.text)
password=trim(text2.text)
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
else
Provider = "Microsoft.Jet.OLEDB.4.0;"
ConnStr = "Provider=" & Provider & _
"Data source=" & Server.MapPath( "Sample.mdb" )
Dim Conn As OleDbConnection = New OleDbConnection( ConnStr )
Conn.Open()
SQL = "select * From Users Where UserID= & UserID & _
And Password= & Password & "
Dim Cmd As OleDbCommand
Cmd = New OleDbCommand( SQL, Conn )
Dim Adapter As OleDbDataAdapter = New OleDbDataAdapter
Adapter.SelectCommand = Cmd
Dim ds As DataSet = new DataSet()
Adapter.Fill(ds, "Users")
Dim dt As DataTable = ds.Tables("Users")
If dt.Rows.Count > 0 Then
isok=true
dim i,m as integer
i=0
m=3
Label1.Text &= "user: " & userid & "
"
Label1.Text &= "password: " & password & "
"
Label1.Text &= "登录成功" & "
"
session("ok") = "" & dt.Rows(i).Item(m) & "
"
response.redirect ("first.aspx")
Else
isok=false
Label1.Text &= "user: " & userid & "
"
Label1.Text &= "password: " & password & "
"
Label1.Text &= "登录失败" & "
"
End If
end if
end if
end if
else
exit sub
end if
End sub
我的登录页面登录页面
RM runat=server>
Cellspacing="10">
姓名:
validationexpression="[a-zA-Z0-9]{4,10}">
(请输入4-10位字符)
密码:
validationexpression="[a-zA-Z0-9]{4,8}">
(请输入4-8位字符)
Header.ascx
public title as string
sub page_load(sender as object,e as eventargs)
label1.text=title
label2.text=cstr(filedatetime(server.mappath(request.filepath)))
end sub
width="100%" bgcolor="#AAAADD">
footer.ascx
这就是这个登录页面简单教程,因为对asp.net接触的时间并不长,所以难免有错误的地方,欢迎大家批评指正,有不明白的地方欢迎发邮件给我:musclecn@sina.com
created by 王明刚(musclecn)
websize:www.musclecn.com
E-mail:musclecn@vip.sina.com
qq:2085432
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-962635/,如需转载,请注明出处,否则将追究法律责任。
![user_pic_default.png](http://blog.itpub.net/images/user_pic_default.png)
<%=items[i].content%>
<%if(items[i].items.items.length) { %><%=items[i].items.items[j].username%> 回复 <%=items[i].items.items[j].tousername%>: <%=items[i].items.items[j].content%>
最新文章
- 可怕的 C# (转)
- Unify the Role-Based Security Models for Enterprise and Application Domains with .NET (转)
- Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication (转)
- [Sample] Playing with music file (转)
- 中文web-app_2_3.dtd (转)
- 使用ASP.NET加密口令 (转)
- C++ Builder 高手进阶 (五)用BCB编写多线程应用程序 (转)
- 24点游戏探秘系列6:用概率统计的眼光看24点游戏 (转)
- Schema-oriented message destination (转)
- J2EE vs. Microsoft.NET (转)
转载于:http://blog.itpub.net/10752043/viewspace-962635/