做好准备工作,现在就要动真格的了,先让我们看看用户注册的实现。前边已经讲过,asp.net可以实现业务逻辑和html代码分离,那么让我们来看看到底是如何实现的,下面这个文件是用户注册的页面部分,原型是根据我站点的风格制作的:<%@Page language="c#" Codebehind="Register.cs" AutoEventWireup="false" Inherits="bbs.Register" %>
<%@Register Tagprefix="My" Namespace="bbs.uctrl"%>
<html><head>
<TITLE>新用户注册</TITLE>
<meta name=vs_targetSchema content="HTML 4.0">
<link rel="stylesheet" href="images/style.css">
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#"></head>
<script language=javascript>
function OnPreview()
{
divPreview.innerHTML = Form1.txtSignature.value ;
}
</script>
<body>
<form method="post" runat="server" ID=Form1> <My:MyHead id="myHead1" runat="server"></MY:MYHEAD><!----------------------外面表格形成边框-------------------------------------->
<table width='722' border='0' cellspacing=0
cellpadding='0' align='center'>
<tbody>
<tr>
<!-------------------左边竖线---------------------------------------------->
<td bgcolor='#0097c0' width='1'>
<img src="/biancheng/Files/2012-3/22/141241528.gif" width=1>
</td>
<td width=720 align=middle><br><br><br>
<!-------------------左边竖线----------------------------------------------><!--------------新用户注册开始---------------------------------------------->
<table width=600 align=center border=0 cellpadding=4 cellspacing=1
id="tblRegister" bgcolor=#000000 runat=server>
<tbody>
<tr bgcolor=#ffffff>
<td colspan=3>
<p align=center>新用户注册</p>
</td>
</tr>
<!--------------用户名开始-------------------------------------------------------->
<tr bgcolor=#ffffff>
<td width=60>
用户名
</td>
<td width=300>
<asp:TextBox id="txtUserName" maxlength=20 columns=20 runat="server"></asp:TextBox>
<font color=red>*</font>
</td>
<td width=240>
用户笔名,4-20字符
<asp:requiredfieldvalidator id="reqUserName" display=Dynamic
controltovalidate="txtUserName" runat=Server>
不能为空!
</asp:requiredfieldvalidator>
<asp:regularexpressionvalidator id="regUserName" display=Dynamic
controltovalidate="txtUserName" runat=Server validationexpression="[^']{4,20}">
用户名非法!
</asp:regularexpressionvalidator>
<asp:customvalidator id="cusUserName" controltovalidate="txtUserName"
onservervalidate="ValidUser" display=Dynamic runat=Server>
该用户已存在。
</asp:customvalidator>
</td>
</tr>
<!--------------用户名结束--------------------------------------------------------><!--------------用户密码开始-------------------------------------------------------->
<tr bgcolor=#ffffff>
<td width=60>
密码
</td>
<td width=300>
<asp:TextBox id="txtPassword" maxlength=10 columns=10
textmode=Password runat=server></asp:TextBox>
<font color=red>*</font>
</td>
<td width=240>
用户密码,4-10字符
<asp:requiredfieldvalidator id=Requiredfieldvalidator1 display=Dynamic
controltovalidate="txtPassword" runat=Server>
不能为空!
</asp:requiredfieldvalidator>
<asp:regularexpressionvalidator id=Regularexpressionvalidator1 display=Dynamic
controltovalidate="txtPassword" runat=Server validationexpression="[^']{4,10}">
密码非法!
</asp:regularexpressionvalidator>
</td>
</tr>
<!--------------用户密码结束-------------------------------------------------------->
<!--------------验证密码开始-------------------------------------------------------->
<tr bgcolor=#ffffff>
<td width=60>
验证密码
</td>
什么?还是看着眼熟?没错,是不是和前边我定义的那个类差不多?是,本来asp.net就是把这个页当作一个对象,注意类定义的那行代码:public class Register : System.Web.UI.Page , 前面你可以理解,是定义一个Register对象,那:号后面的System.Web.UI.Page是什么意思呢?它说明这个Regsiter类是System.Web.UI.Page类的派生类(子类),也就是说Register类除了自己成员变量、属性、方法外,还继承System.Web.UI.Page类的所有公共(public)或保护(protected)成员变量、属性和方法。明白了这些,你可以安心坐下来研究代码了,做好下面关于表单验证内容的学习准备。
ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日ASP编码教程:asp执行带参数的sql语句实例
[ASP]2015年4月14日