当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net高级教程(五)---实战篇(中)

ASP.NET
Proxy
关于DEV的TreeList控件的使用(1)
用C#给程序加启动画面并只允许一个应用程序实例运行
Vb.net进阶:.NET 中的代码页(CodePage)
XMLHTTP 对象及其方法简介
C#:获得文件版本信息及只读文件的删除
C#:文件的按行读/写及文件目录对话框的使用
What is Mono?
C#:ListBox的2个常用方法Add,Clear与Items的2个属性
使用属性和反射过渡从数据存取层到业务物件1
安装Mono
使用属性和反射过渡从数据存取层到业务物件 - II
Mono介绍(无图片)
[JavaScript]一段把客户端的中文字串转换成UTF-8的代码
Mono 基本概念
Hello Mono
对开发的程序(制作CAB)进行签名,并允许网站中使用
锁住你的EXCEL
DCG升级了!
怎样在C#中调用Delphi6写的DLL

ASP.NET 中的 asp.net高级教程(五)---实战篇(中)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 115 ::
收藏到网摘: n/a

asp.net高级教程(五)---实战篇(结合论坛用户操作谈asp.net表单验证)(中)

做好准备工作,现在就要动真格的了,先让我们看看用户注册的实现。前边已经讲过,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="/upload/tech/20091103/20091103053453_f85454e8279be180185cac7d243c5eb3.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" class=cn 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>
</t