c# asp.net 用户注册流程图(7)

简介:
在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容器控件,其中验证空间运用的比较粗糙,继续改进。



本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/296058,如需转载请自行联系原作者

相关文章
|
6月前
|
开发框架 .NET 开发者
简化 ASP.NET Core 依赖注入(DI)注册-Scrutor
Scrutor 是一个简化 ASP.NET Core 应用程序中依赖注入(DI)注册过程的开源库,支持自动扫描和注册服务。通过简单的配置,开发者可以轻松地从指定程序集中筛选、注册服务,并设置其生命周期,同时支持服务装饰等高级功能。适用于大型项目,提高代码的可维护性和简洁性。仓库地址:&lt;https://github.com/khellang/Scrutor&gt;
136 5
|
2月前
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
|
6月前
|
开发框架 搜索推荐 算法
一个包含了 50+ C#/.NET编程技巧实战练习教程
一个包含了 50+ C#/.NET编程技巧实战练习教程
208 18
|
6月前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
188 12
|
6月前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(24年12月更新)
C#/.NET/.NET Core拾遗补漏合集(24年12月更新)
|
6月前
|
开发框架 算法 .NET
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
|
6月前
|
开发框架 Cloud Native .NET
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
|
6月前
|
开发框架 监控 .NET
C#进阶-ASP.NET WebForms调用ASMX的WebService接口
通过本文的介绍,希望您能深入理解并掌握ASP.NET WebForms中调用ASMX WebService接口的方法和技巧,并在实际项目中灵活运用这些技术,提高开发效率和应用性能。
315 5
|
6月前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
255 13
|
7月前
|
人工智能 开发框架 前端开发
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
C#/.NET/.NET Core技术前沿周刊 | 第 12 期(2024年11.01-11.10)
下一篇
oss创建bucket