在asp.net中有两种容器控件,其中包括panel和placeholder控件。 
使用panel控件可以对控件进行分组。一帮助组织web窗体也的内容,将控件组织在面板中,可提供有关在运行时控件应如何分页显示的信息。这里也就是我们所说的在一个页面中通过 “提交”或“下一步”按钮来显示不同的虚假页面,即通过隐藏可以实现,还有panel的外观属性,来设置panel的外观特性。 
简单的用户注册流程图: 
html代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits=" 容器控件._Default" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
        <title>用户注册流程图</title> 
        <style type="text/css"> 
                .style1 
                { 
                        text-align: center; 
                } 
        </style> 
</head> 
<body> 
        <form id="form1" runat="server"> 
        <div> 
 
                <asp:Panel ID="Panel1" runat="server" BorderStyle="Groove" Height="333px" 
                        style="text-align: center" Width="909px"><h1> 用户注册</h1> 
                     <table style="height: 218px"> 
<tr id="Tr1" runat="server"> 
<td>用户名:</td> 
<td><asp:TextBox runat="server" ID="username"></asp:TextBox></td> 
<td> 
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                                ControlToValidate="username" Display="Dynamic" ErrorMessage="请正确输入用户名"></asp:RequiredFieldValidator><! 对用户输入的信息进行非空验证,并为动态显示,如验证不通过弹出”请输入用户名“> 
                </td> 
</tr> 
<tr> 
<td>密码:</td> 
<td><asp:TextBox runat="server" ID="password1" TextMode="Password"></asp:TextBox> </td> 
<td> 
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                                ControlToValidate="password1" Display="Dynamic" ErrorMessage="请输入密码!"></asp:RequiredFieldValidator><! 对密码进行非空验证,并为动态显示,错误时提示:请输入密码> 
                                                </td> 
</tr> 
<tr> 
<td>密码确认:</td> 
<td><asp:TextBox runat="server" ID="password2" TextMode="Password"></asp:TextBox></td> 
<td> 
                <asp:CompareValidator ID="CompareValidator1" runat="server" 
                                ControlToCompare="password1" ControlToValidate="password2" Display="Dynamic" 
                                ErrorMessage="请确认密码正确性"></asp:CompareValidator><!这里的controltocompare是对第一次输入的密码进行比较,测试十分保持一致> 
                                                </td> 
</tr> 
<tr> 
<td>性别:</td> 
<td> 
<asp:RadioButton Text="男" ID="rd1" runat="server" GroupName="1" /><!groupname必须相同> 
<asp:RadioButton Text="女" ID="rd2" runat="server" GroupName="1" /> 
</td> 
<td></td> 
</tr> 
<tr> 
<td>联系电话:</td> 
<td><asp:TextBox runat="server" ID="telephone"></asp:TextBox>< /td><!正则表达式偶还没学> 
<td> 
        <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="请输入电话号码" 
                MaximumValue="199999999999" MinimumValue="0" 
                ControlToValidate="telephone"></asp:RangeValidator><! 比较粗糙的定义范围,最小值为0.,最大值为19999999999> 
        </td> 
</tr> 
<tr> 
<td>兴趣爱好:</td> 
<td> 
<asp:CheckBox runat="server" ID="cb1" Text="篮球" /> 
<asp:CheckBox runat="server" ID="cb2" Text="足球" /> 
<asp:CheckBox runat="server" ID="cb3" Text="排球" /> 
<asp:CheckBox runat="server" ID="cb4" Text="读书" /> 
</td> 
<td></td> 
</tr> 
<tr> 
<td colspan="2" style="text-align: center"> 
                 </td> 
<td></td> 
</tr> 
</table> 
                        <asp:Button ID="Button1" runat="server" Text="下一步" onclick="Button1_Click" /> 
                        <br /> 
                        <br /> 
                </asp:Panel> 
 
        </div><br/> 
        <asp:Panel ID="Panel2" runat="server" BorderStyle="Groove" Height="270px" 
                Visible="False"><h3 style="text-align: center">确认信息</h3> 
                <p style="text-align: center"> 
                        用户名:<asp:Label ID="xusername" runat="server" Text="Label" Width="161px"></asp:Label> 
                </p> 
                <p style="text-align: center"> 
                        密码:<asp:Label ID="xpassword" runat="server" Text="Label" Width="161px"></asp:Label> 
                </p> 
                <p style="text-align: center"> 
                        联系电话:<asp:Label ID="xtelephone" runat="server" Text="Label" Width="161px"></asp:Label> 
                </p> 
                <p style="text-align: center"> 
                        兴趣爱好:<asp:Label ID="xaihao" runat="server" Text="Label" Width="161px"></asp:Label> 
                </p> 
                <p style="text-align: center"> 
                        <asp:Button ID="Button2" runat="server" Text="下一步" onclick="Button2_Click" /> 
                </p> 
        </asp:Panel> 
        <asp:Panel ID="Panel3" runat="server" Height="411px" Width="920px"> 
                <h1 class="style1">恭喜您注册成功</h1> 
                <p class="style1"> 
                        请切记您账号和密码:</p> 
                        <p style="text-align: center"> 
                        用户名:<asp:Label ID="Label1" runat="server" Text="Label" Width="161px"></asp:Label> 
                </p> 
                <p style="text-align: center"> 
                        密码:<asp:Label ID="Label2" runat="server" Text="Label" Width="161px"></asp:Label> 
                </p> 
                <p class="style1"> 
                         </p> 
        </asp:Panel> 
        </form> 
</body> 
</html>

后台c#代码:

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 
 
namespace 容器控件 

 public partial class _Default : System.Web.UI.Page 
        { 
 protected void Page_Load(object sender, EventArgs e) 
                { 
 
this.Panel3.Visible = false;//放在这里实在页面加载时就把panel3隐藏 
                } 
 
protected void Button1_Click(object sender, EventArgs e) 
                { 
 this.Panel1.Visible = false;//点击按钮“下一步”是 panel1隐藏 
 this.Panel2.Visible = true;//同时panel2显示出来 
 this.xusername.Text = this.username.Text;// 把用户的信息放到自定义的label中,感觉很麻烦,希望会有更好的办法 
 this.xpassword.Text = this.password1.Text; 
 this.xtelephone.Text = this.telephone.Text; 
 
                } 
 
protected void Button2_Click(object sender, EventArgs e) 
                { 
 this.Panel2.Visible = false;//点击按钮“下一步”是 panel2隐藏 
 this.Panel3.Visible = true;//同时panel3显示出来 
 
                } 
        } 
}

整个流程图比较简单,运用的主要是textbox控件,label控件,验证控件,Button控件,panel容器控件,其中验证空间运用的比较粗糙,继续改进。

作者:神舟龙

    

(转)asp.net注册实现下一步的更多相关文章

  1. ASp.net 注册

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs ...

  2. 使用ASP.NET注册工具aspnet_regiis.exe注册IIS

    该工具的名称为aspnet_regiis.exe,在32位机上,该工具存在于C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,在64位机中“Framework ...

  3. winserver 08 64位安装sql05 64位提示asp版本注册

    将打开 安装IIS 6.0的就可以了,然后重启下

  4. Asp.Net 注册 邮箱激活

    数据库 表的设计 State为用户状态  0为禁用  1为可用  默认为0,下面有个UserGUID,这个字段将来用于激活账户 首先你要写一个表单,验证码神马的,这个我就不写了..直接写处理的 代码在 ...

  5. ASP.NET中使用Entity Framework开发登陆注册Demo

    这里更多的是当作随身笔记使用,记录一下学到的知识,以便淡忘的时候能快速回顾 当前步骤是该项目的第一部分 第一部分(当前) 第二部分 大完结版本 直接上步骤,有类似的开发登陆注册也可以参考. 登陆注册的 ...

  6. 部署 外网 ASP.NET程序时, IIS安全性 配置 -摘自网络

    最近,和朋友们在聊及ASP.NET程序的安全性没有JAVA高,IIS(Internet Infomartion Server)的存在很多漏洞(以及新型蠕虫,例如Code Red 和Nimda),安全得 ...

  7. ASP.NET MVC 从零开始 - 请求处理

    这篇文章是从我的 github 博客 lxconan.github.io 导入的. 这是这个系列的第三篇了.前两篇文章请参见: ASP.NET MVC 从零开始 - Create and Run AS ...

  8. IIS7如何部署asp.net网站

      第一步:发布网站 右键asp.net web项目,选择发布, 然后新建配置文件名称并选择 "文件系统" 发布方法. 目标位置选择本地新建的文件夹如: IISWebSite 第二 ...

  9. ASP DropDownList部分选项无法触发回传问题

    今天偶然碰到这个问题,一个通过后台绑定的DropDownList控件出现部分选项触发事件,部分选项不触发事件的问题: 原因是多个OPTION的Value值一致,导致ASP事件注册失败,只要在绑定过程中 ...

随机推荐

  1. 转发——推荐一些国外高质量Java开发者的博客

    学习Java很不错的一篇博客,总结了很详尽的Java开发者博客. http://www.admin10000.com/document/3373.html 这些博客具有以下特点: 文章的可读性和有独创 ...

  2. github 提交时候提示 org.eclipse.jgit.errors.ObjectWritingException: Unable to create new object: /usr/local/apache243/ht

    只需要执行 chmod -R 777 ./*  把 .git文件权限设置为 777便可以实现.

  3. Html中input标签的使用

    1.取消按钮按下时的虚线框 在input里添加属性值 hideFocus 或者 HideFocus=true 2.只读文本框内容 在input里添加属性值 readonly 3.防止退后清空的TEXT ...

  4. 无递归 A星寻路算法

    整理硬盘的时候,发现我早些年写的A星寻路算法.特放上来,待有缘人拿去,无递归噢,性能那是杠杠的. 码上伺候 public class Node { public int X { get; set; } ...

  5. MSSQL2005 导出excel文件

    Title:MSSQL2005 导出excel文件  --2011-01-16 16:01 EXEC master..xp_cmdshell 'bcp "select * from 数据库名 ...

  6. Practice: Process logs with Apache Hadoop

    http://www.ibm.com/developerworks/library/os-log-process-hadoop/ Analyzing Apache logs with Apache P ...

  7. 输出宽字符数组 C++

    std::cout << "ASCII and ANSI" << std::endl;std::wcout << L"INSERT M ...

  8. maven下载及配置

    Maven是一个采用纯Java编写的开 源项目管理工具.Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xm ...

  9. 2015第29周五AOP

    AOP使用场景 AOP用来封装横切关注点,具体可以在下面的场景中使用: Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling ...

  10. android实现对导航Tab设置下划线选中效果

    技术人员核心竞争力还是技术啊.努力提高各种实现效果.加油哦! 直接看效果.此linearLayout只有两个Button ,当选中Button1,Button1有个下划线选中效果.当选中Buton2, ...