用户控件login.ascx代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="login.ascx.cs" Inherits="login" %>
<style type="text/css">
.style1
{
width: 273px;
}
.style3
{
width: 115px;
}
.style4
{
width: 101px;
}
</style>
<table align="center" cellpadding="0" cellspacing="0" class="style1"
style="height: 189px; width: 360px">
<tr>
<td class="style4">
用&nbsp; 户&nbsp; 名:</td>
<td class="style3">
<asp:TextBox ID="txtUserName" runat="server" Width="150px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtUserName" Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 码:</td>
<td class="style3">
<asp:TextBox ID="txtPwd" runat="server" TextMode="Password" Width="150px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtPwd" Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
安全问题:</td>
<td class="style3">
<asp:TextBox ID="txtquestion" runat="server" Width="150px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txtquestion" Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
提示答案:</td>
<td class="style3">
<asp:TextBox ID="txtresult" runat="server" Width="150px"></asp:TextBox>
</td>
<td>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txtresult" Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
电子邮件:</td>
<td class="style3">
<asp:TextBox ID="txtEmail" runat="server" Width="150px"></asp:TextBox>
</td>
<td valign="middle">
<asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server"
ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
BorderStyle="Solid" BorderWidth="1px" ControlToValidate="txtEmail"
Display="Dynamic" ErrorMessage="邮件地址错误" Font-Overline="False" Font-Size="10pt"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td class="style4">
输入住址:</td>
<td colspan="2">
<asp:TextBox ID="txtaddr" runat="server" Width="149px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server"
ControlToValidate="txtaddr" Display="Dynamic" ErrorMessage="*"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td class="style4">
&nbsp;</td>
<td colspan="2">
<asp:Button ID="Button1" runat="server" Text="注册" onclick="Button1_Click" />
&nbsp;
<asp:Button ID="Button2" runat="server" Text="重置" onclick="Button2_Click"
CausesValidation="False" />
</td>
</tr>
</table>

login.ascx.cs代码

public partial class login : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button2_Click(object sender, EventArgs e)
{
txtEmail.Text = "";
txtPwd.Text = "";
txtquestion.Text = "";
txtresult.Text = "";
txtUserName.Text = "";
txtaddr.Text = "";
}
protected void Button1_Click(object sender, EventArgs e)
{
string sqlstr = System.Configuration.ConfigurationManager.AppSettings["con"].ToString();
SqlConnection conn = new SqlConnection(sqlstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select count(*) from Tb_Login where UseName='"+txtUserName.Text.Trim()+"'";
int flag=int.Parse(cmd.ExecuteScalar().ToString());
if (flag > )
{
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('该用户名已经存在');", true);
}
else
{
cmd.CommandText = "insert into Tb_Login(UseName,UsePassword,UserEmail,Question,UserKey,Useraddr) values ('" + txtUserName.Text + "','" + txtPwd.Text + "','" + txtEmail.Text + "','" + txtquestion.Text + "','" + txtresult.Text + "','"+txtaddr.Text+"')";
if(cmd.ExecuteNonQuery()>)
{
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('用户注册成功');", true);
}
else
{
Page.ClientScript.RegisterStartupScript(this.Parent.GetType(), "", "alert('用户注册失败');", true);
}
}
conn.Close();
}
}

Default.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register src="login.ascx" tagname="login" tagprefix="uc1" %>

<!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>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc1:login ID="login1" runat="server" />
</div>
</form>
</body>
</html>

最终效果:

034. asp.netWeb用户控件之三通过用户控件实现用户注册和登录的更多相关文章

  1. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  2. ASP.NET MVC中加载WebForms用户控件(.ascx)

    原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...

  3. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  4. JS获取用户控件中的子控件Id

    用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...

  5. ASP.NET MVC显示WebForm网页或UserControl控件

    ASP.NET MVC显示WebForm网页或UserControl控件 学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user ...

  6. 念念不忘,ASP.NET MVC显示WebForm网页或UserControl控件

    学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user control呢?这个灵感(算不上灵感,只能算是想法)是来自前些天有写过一 ...

  7. 【Asp.net之旅】--因自己定义控件注冊而引发的思考

    前言 近期在开发远洋的SOA系统平台,开发使用的是.NET平台.对于Asp.net并不困难,但该系统的开发并非全然依靠Asp.net.而是自身封装好的框架.这套框架是远洋地产购买的微软的开发平台,项目 ...

  8. asp.net 弹出式日历控件 选择日期 Calendar控件

    原文地址:asp.net 弹出式日历控件 选择日期 Calendar控件 作者:逸苡 html代码: <%@ Page Language="C#" CodeFile=&quo ...

  9. qtp录制时间控件不允许用户手动输入的解决办法

    qtp录制时间控件不允许用户手动输入的解决办法 [前面的话] 一边学习qtp,一边用自己的项目试着写代码,而遇到一个问题就会让自己卡壳很久,这次也是这样的,在写好了登录代码以后,自己就试着写第一个预订 ...

随机推荐

  1. GIT warning: LF will be replaced by CRLF.

    git config --global core.autocrlf false git config --global core.autocrlf false  

  2. Spring Boot Admin的使用

    http://www.jianshu.com/p/e20a5f42a395 ******************************* 上一篇文章中了解了Spring Boot提供的监控接口,例如 ...

  3. Python--关于连接符+

    连接符 + 连接符 + 实则是创建了新的对象并占用新的内存(dict.set不能使用) String 由于Python必须为每一个使用连接符+的字符串分配新的内存,并产生新的字符串.下面两种方式会更有 ...

  4. Yii批量添加的问题

    使用Yii进行批量添加的时候,执行后会发现表中只插入了foreach循环的最后一条数据,而其它数据没有添加成功,那是因为内存地址中循环时新一条数据会覆盖前一条数据,解决办法如下: 第一种方法: < ...

  5. hdu 5877/ 2016 ACM/ICPC Dalian Online 1010 Weak Pair

    题目链接 分析:树上的节点祖先与儿子的关系,一般就会想到dfs序.正解就是对树先进行dfs序排列,再将问题转化到树状数组统计个数.应该把节点按照权值从大到小排序,这样对于,就是从小到大的顺序.这样更新 ...

  6. MYSQL57密码策略修改

    1.查看当前的密码测试 show variables like 'validate_password%';

  7. CentOS7下安装MYSQL5.7

    第一种方式:yum安装 1.下载mysql57-community-release-el7-9.noarch 下载地址:http://dev.mysql.com/downloads/repo/yum/

  8. centos 非可视化查看已安装的redis

    1. 2.

  9. 苹果IOS系统SVN命令 同样适用于linux系统

    1.将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn ...

  10. NSRunLoop概述和原理

    1.什么是NSRunLoop?我们会经常看到这样的代码: - (IBAction)start:(id)sender{pageStillLoading = YES;[NSThread detachNew ...