Vb教程 Vb.net教程 Vfp教程 C/C++教程 Vc/Vc++教程 Delphi教程 Java教程 Powerbuilder
  杀毒频道 | 短信频道 | 网络电视 | 论文中心 | 学上网 | 学软件 | 网页特效 | 电脑基础 | 论坛  
  NCRE | 软考 | CET | 职称英语 | 司法考试 | 报关员 | 公务员 | CATTI | CPA考试  
  Html教程 | Css教程 | Xml教程 | Asp教程 | Asp.net | Php教程 | Jsp教程 | Linux教程 | QQ技巧  
Photoshop Illustrator ImageReady Maya教程 3D Max教程 Lightscape Coredraw教程 Authorware Autocad教程 Freehand教程
Access教程 Mysql教程 Sql server Oracle教程 Word教程 Excel教程 Powerpoint Frontpage Asp.net源码 Php源代码
Flash教程 Fireworks Dreamweaver C#教程 outlook教程 系统安装 vbscript教程 Javascript Jsp源代码 Asp源代码
您的位置:首页 >> Dreamwaver教程 >> 正文

Dreamweaver构建Blog全程实录(6):用户注册的实现
文章来源:PConline 作者:东正科技 蔡继文

  有人发觉:那用户要到哪里发表笔记、回复呢?这是第六、七章将要解决的问题。这一章主要讲解用户注册页面的实现。

6.1  基本页面设计

  6.1.1 模板bkblog.dwt.aspx页面的修改

  (1)打开模板bkblog.dwt.aspx,在左边栏目插入表格Lefttab,在第一行中插入表单Yhlogfrm,在表单Yhlogfrm中插入表格logtab,并插入有关文本框、文本区域及按钮,结果如图6-1-1所示:

图6-1-1  模板中用户登录设计

  (2)将作者相应的文本框命名为Logname;将密码相应的文本框命名为Logpass,类型改为密码;“注册”按钮的动作改为“无”;把“登录”按钮的动作改为“提交表单”。

  (3)选择按钮“注册”按钮,在【行为】面板中,添加行为转到URL,在弹出的对话框中,输入链接为“../yhinlog.aspx” 如图6-1-2所示:

图6-1-2  添加转到URL的行为

  (4)保存模板,更新所有的网页。

  6.1.2  注册页面的设计

  (1)新建由模板bkblog.dwt.aspx生成的ASP.NET VB 动态页yhinlog.aspx,在mainbody可编辑区域中插入表单Yhinfrm,再插入表格yhinlog,并进行有关设计,结果如图6-1-3所示:

图6-1-3  表格yhinlog的设计

  (2)选择用户名相应的文本框,切换到标签面板,展开“CSS/辅助功能”,在id中输入YHNAME;展开“未分类”,输入runat,server,把YHNAME文本框改为服务器控件,如图6-1-4所示:

图6-1-4  修改文本框标签

  (3)依此类推,密码相应的文本框命名为YHPASS,密码再确认相应的文本框命名为REPASS,QQ码相应的文本框命名为YHQQ,Email相应的文本框命名为YHEMAIL,主页相应的文本框命名为YHINDEX,将所有文本框改为服务器控件。

  (4)选择表单Yhinfrm,并将其改为服务器控件,保存yhinlog.aspx。

 6.1.3  完成注册页面的设计

  (1)由模板bkblog.dwt.aspx新建动态动态网页yhlogok.aspx,在mainbody可编辑区域中插入三行一列的表格logok,在第二行中输入文字“欢迎”,点击ASP.NET快捷菜单中的“绑定数据”,再点击“修剪的表单元素”,把光标移到如图6-1-5所示的位置,输入“YHNAME”。

图6-1-5  插入修剪的表单元素

  (2)返回设计视图,继续输入文字“Donking's BLOG!”,并、对表格logok,进行有关设计,结果如图6-1-6所示:

图6-1-6 表格logok的设计

  (3)选择按钮“主页”按钮,在【行为】面板中,添加行为转到URL,在弹出的对话框中,输入链接为“index.aspx”,保存yhlogok.aspx

6.2验证用户注册

  为了防止用户输入错误的注册信息,要对用户注册信息进行规范和验证。

  (1)打开yhinlog.aspx,打开ASP.NET快捷菜单,点击【更多标签】,如图6-2-1所示:

图6-2-1  ASP.NET 快捷菜单

  (2)在弹出的标签选择器中展开“ASP.NET 标签”→“验证服务器控件”,在右窗架中选中“asp:RequiredFieldvalidator”,单击“插入”按扭,如下图6-2-2所示:

图6-2-2  标签选择器

  (3)在弹出的标签编辑器中,为文本框YHNAME添加验证控件,填写各项如图6-2-3所示:

图6-2-3  RequiredFieldValidator标签编辑器

 (4)打开标签选择器,插入ASP.NET验证服务器控件→CompareValidator控件,为文本框YHPASS添加与REPASS文本框对比验证控件,填有关信息如图6-2-4所示:

图6-2-4  CompareValidato标签编辑器

  (5)插入ASP.NET验证服务器控件→Rangevalidator控件,为文本框YHQQ添加验证控件,填有关信息如图6-2-5所示:

图6-2-5  Range validator标签编辑器

  (6)插入ASP.NET验证服务器控件→Regularexpressionvalidator控件,为文本框YHEMAIL添加验证控件,填各项如图6-2-6所示,其中的验证表达式为:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

图6-2-6 Regular expression validator标签编辑器

  (7)插入ASP.NET验证服务器控件→Regularexpressionvalidator控件,为文本框YHINDEX添加验证控件,填写各项如图6-2-7所示,其中的验证表达式为:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

图6-2-7  Regular expression validator 标签编辑器

(8)应该再一个验证控件防止用户注册的用户名重复。

  ①添加数据集yhinlog,设为筛选,筛选字段为YHNAME,参数变量为来之表单变量YHNAME,其设置如图6-2-8所示:

图6-2-8  插入数据集yhinlog

  ②插入ASP.NET验证服务器控件→CustomValidator控件,为文本框YHINDEX再添加验证控件,填写各项如图6-2-9所示,其中的客户端验证功能为:

<%# IIf(yhinlog.RecordCount>0,FALSE,TRUE) %>

图6-2-9  Custom Validator标签编辑器

  (9)保存yhinlog.aspx,在IE中进行浏览,如果出现图6-2-10所示的对话框,那说明的dklog站点根目录下没有子目录aspnet_client,也是就没有验证控件必要的JS脚本库。这个在安装.NET框架的时候,安装程序已经复制在默认站点c:\ Inetpub\wwwroot的根目录下,复制c:\ Inetpub\wwwroot中的子目录aspnet_client到dkblog站点根目录下,就OK了!

图6-2-10  找不到必要JS脚本库

关于“不能正常判断注册用户名重复”的补充

  (1)鼠标右键选择CustomValidator标签,选择编辑该标签,在弹出标签编辑器—CustomValidator中清除客户端功能文本框,在显示下拉菜单中选择动态,如图1所示:

图1编辑CustomValidator标签

  (2)选择事件下的“OnServerValidate”,输入其相应过程为“yhlogcheck”,如图2所示:

图2  编辑“OnServerValidate”事件

  (3)单击【确定】按钮,切换到代码视图,在其代码页面的顶部插入两个命名空间,如图3红圈所示:

图3  插入两个命名空间

  (4)找到标签<script runat="server">,在其后输入以下代码:

sub yhlogcheck(sender as Object, args as ServerValidateEventArgs )
dim yhconn,yhsql,yhcomm
Dim yhread as OleDbDataReader
yhconn=New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & server.mappath("dat/dkblog.mdb"))
yhconn.Open()
yhsql="SELECT YHNAME FROM YH WHERE YHNAME = "+"'"+trim(Request.Form("YHNAME"))+"'"
yhcomm=New OleDbCommand(yhsql,yhconn)
yhread=yhcomm.ExecuteReader()
If yhread.read()=true  Then
RESPONSE.Redirect("yhlogfalse.aspx")
Else
yhsql="INSERT INTO YH (YHEMAIL, YHINDEX, YHNAME, YHPASS, YHQQ) VALUES ('"+trim(Request.Form("YHEMAIL"))+"','" _
+trim(Request.Form("YHINDEX"))+"','"+trim(Request.Form("YHNAME"))+"','"+trim(Request.Form("YHPASS"))+"', '" _
+trim(Request.Form("YHQQ"))+"')"
yhcomm = new OleDbCommand(yhsql, yhconn)
try
       yhcomm.ExecuteNonQuery()
      response.Redirect("yhlogok.aspx")
finally
yhconn.Close()
end try
End If
yhconn.CLOSE
End sub

  如图4所示:

图4  插入过程yhlogcheck的代码

  (5)将yhlogok.aspx另存为yhlogfalse.aspx,将文本改为"用户名错误,可能被占用,请返回注册页面.",将"主页"按钮,改为"返回"按钮,将Form“Yhinfrm”的相应动作设为“yhinlog.aspx”,如图5所示:

图5 yhlogfalse.aspx,页面

6.3  添加“插入记录”服务器行为

  (1)打开yhinlog.aspx,添加【插入记录】服务器行为,表单的有关数据添加到数据表YH中,其有关设置如图6-3-1所示:

图6-3-1  添加【插入记录】服务器行为

  (2)ASP.NET是不支持gb2312编码传输。切换到代码视图,找到:

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>

  把 ResponseEncoding="gb2312" 这句代码删掉就OK了:

<%@ Page Language="VB" ContentType="text/html"%>

  (3)保存,在IE中浏览提交用户注册信息,在Access打开YH表,可以发现提交的中文信息全变成了??。那怎么办?不用急,这是由于TASP.NET不支持gb2312编码传输所致。打开yhinlog.aspx,切换到代码视图,找到第一行代码:

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>

  把它改为:

<%@ Page Language="VB" ContentType="text/html" %>

  也就是去除ResponseEncoding="gb2312"。其他网页也按此法进行修改,防止中文提交信息出错。

  

[返回]

编程语言 web开发 数据库 网络技术 操作系统 服务器 网页设计 图形设计 办公软件 常用软件 学电脑

Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved.
关于本站 | 版权声明 | 联系我们 | 友情链接 |
编程入门网 版权所有