注册

 

先用linq连接数据  然后建个类写几个方法 如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// DA 的摘要说明
/// </summary>
public class DA
{
    private MyDBDataContext Context;
    public DA()
    {
        Context = new MyDBDataContext();
    }
    public void Insert(zhuce data)
    {
        Context.zhuce.InsertOnSubmit(data);
        Context.SubmitChanges();
    }
    public bool SelectBy(string id)
    {
        List<zhuce> list = Context.zhuce.Where(p => p.Id == id).ToList();
        if (list.Count() > 0)
        {
            return true;
        }
        return false;
    }
    public List<ChinaStates> Select(string code)
    {
        return Context.ChinaStates.Where(p => p.ParentAreaCode == code).ToList();
    }
}

  注册页面aspx代码:

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <asp:Label ID="Label1" runat="server" Text="代号:"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="唯一验证" />
        <br />
        <asp:Label ID="Label2" runat="server" Text="用户名:"></asp:Label>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <br />
        <asp:Label ID="Label3" runat="server" Text="密码:"></asp:Label>
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
        <br />
        <asp:Label ID="Label4" runat="server" Text="确认密码:"></asp:Label>
        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
        <br />
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <br />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                省:<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                </asp:DropDownList>
                市:<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged" >
                </asp:DropDownList>
                区:<asp:DropDownList ID="DropDownList3" runat="server">
                </asp:DropDownList>
            </ContentTemplate>
        </asp:UpdatePanel>
    
    </div>
        <asp:Label ID="Label5" runat="server" Text="验证码:"></asp:Label>
        <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
        <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="Handler.ashx" OnClick="ImageButton1_Click" />
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="注册" />
    </form>
</body>
</html>

  注册页面aspx.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BIndDropDown1();
        }
    }
    protected void Button2_Click(object sender, EventArgs e)//唯一验证
    {
        if (string.IsNullOrWhiteSpace(TextBox1.Text))
        {
            Response.Write("<script>alert('用户ID不能为空!!')</script>");
        }
        else
        {
            bool isok = new DA().SelectBy(TextBox1.Text);
            if (isok)
            {
                Response.Write("<script>alert('此ID不可用')</script>");
            }
            else
            {
                Response.Write("<script>alert('此ID可用')</script>");
            }
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string id = TextBox1.Text;
        string uid = TextBox2.Text;
        string pwd = TextBox3.Text;
        string rpwd = TextBox4.Text;
        string adrs = DropDownList1.SelectedItem.Text + DropDownList2.SelectedItem.Text + DropDownList3.SelectedItem.Text;
        if (id == "")
        {
            Response.Write("<script>alert('用户ID不能为空!!')</script>");
        }
        else if (uid == "")
        {
            Response.Write("<script>alert('用户名不能为空!!')</script>");
        }
        else if (pwd == "")
        {
            Response.Write("<script>alert('用户密码不能为空!!')</script>");
        }
        else if (rpwd != pwd)
        {
            Response.Write("<script>alert('密码不一致!!')</script>");
        }
        else if (adrs=="")
        {
            Response.Write("<script>alert('请选择地址!!')</script>");
        }
        else
        {
            zhuce data = new zhuce();
            data.Id = id;
            data.Uid = uid;
            data.Pwd = pwd;
            data.Adrs = adrs;
            string ss = Session["yanzheng"].ToString();
            if (TextBox5.Text==ss)
            {
                new DA().Insert(data);
                //Session["uid"] = TextBox2.Text;//Sesson传值
                //Response.Redirect("Default2.aspx");

                Response.Redirect("Default3.aspx?uid="+TextBox2.Text+ "&pwd="+TextBox3.Text);
            }
            else
            {
                Response.Write("<script>alert('注册失败!!')</script>");
            }
           
          

        }
    }
    //-------------------------------------------俩种方法选择其一
    //public void BIndDropDown()
    //{
    //    List<ChinaStates> list = new ChinaDA().Select("0001");
    //    foreach (ChinaStates data in list)
    //    {
    //        ListItem lt = new ListItem(data.AreaName, data.AreaCode);
    //        DropDownList1.Items.Add(lt);
    //    }
    //}
    public void BIndDropDown1()
    {
        List<ChinaStates> list = new DA().Select("0001");
        DropDownList1.DataSource = list;
        DropDownList1.DataTextField = "AreaName";
        DropDownList1.DataValueField = "AreaCode";
        DropDownList1.DataBind();
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string city = DropDownList1.SelectedItem.Value;
        List<ChinaStates> list = new DA().Select(city);
        DropDownList2.DataSource = list;
        DropDownList2.DataTextField = "AreaName";
        DropDownList2.DataValueField = "AreaCode";
        DropDownList2.DataBind();

        string qu = DropDownList2.SelectedItem.Value;
        List<ChinaStates> list1 = new DA().Select(qu);
        DropDownList3.DataSource = list1;
        DropDownList3.DataTextField = "AreaName";
        DropDownList3.DataValueField = "AreaCode";
        DropDownList3.DataBind();
    }
    protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
    {
        string qu = DropDownList2.SelectedItem.Value;
        List<ChinaStates> list1 = new DA().Select(qu);
        DropDownList3.DataSource = list1;
        DropDownList3.DataTextField = "AreaName";
        DropDownList3.DataValueField = "AreaCode";
        DropDownList3.DataBind();
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton1.ImageUrl = "Handler.ashx?id=" + new Random().Next(100);
    }
}

  利用Session传值的页面aspx代码:

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        欢迎      
        <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    
    </div>
    </form>
</body>
</html>

  利用Session传值的页面aspx.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Literal1.Text = Session["uid"].ToString();
    }
}

  利用超链接传值的页面aspx代码:

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
          欢迎:<asp:Literal ID="Literal1" runat="server"></asp:Literal>
     </div>
    </form>
    <p>
 </p>
</body>
</html>

  利用超链接传值的页面aspx.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string uid = Request["uid"].ToString();
        string pwd = Request["pwd"].ToString();
        Literal1.Text = uid + "  " + pwd;
    }
}

  

  图片验证码,就是首先造一张空白的图,然后在图片上绘制随机数就可以了,在这里用到了一般处理程序。

  一般处理程序就是单纯的页面(无任何标签),是.ashx文件,里面的验证数字利用Session保存,用Response显示在页面上,如果想用的话 直接图片按钮(Image Button)路径到这个页面就可以,, 而里面的验证数字则可以利用Session["xxx"]来接收。

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Drawing;//引用绘图命名空间
using System.Web.SessionState;//IRequiresSessionState的命名空间

public class Handler : IHttpHandler , IRequiresSessionState  //Session的接口,必须得继承,不然没法用session
{
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "image/jpeg";//设置类型
        //开始造图片,
        Bitmap img = new Bitmap(50, 20);  //一张宽度为50,高度为20的空白图片
        Graphics gc = Graphics.FromImage(img);  //往img图里绘制
        Font font = new Font("楷体", 12, FontStyle.Bold);//字体格式
        SolidBrush brush = new SolidBrush(Color.White);//刷子格式 ,里面的颜色是背景颜色    
        gc.FillRectangle(brush, 0, 0, 50, 20);//绘制的样子
        brush.Color = Color.Red;//刷子颜色

        //已经绘制完了,往图里扔验证码,开始造验证码
        string s = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        string str = "";
        Random r = new Random(); //随机出一个数来

        for (int i = 0; i < 4; i++)
        {
            int x = r.Next(0, 62);
            string ss = s.Substring(x, 1); //截取字符串
            str += ss;
        }

        //验证码已经造好了,开始往图片里扔,前提先保存一下验证码的内容,为了以后的使用(输入验证)
        context.Session["yanzheng"] = str;

        //往图片里仍
        gc.DrawString(str, font, brush, 0, 0);


        //  最后将图片保存,通过response响应流保存
        img.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

  

一般处理程序造好以后,需要来用它,这里是用的图片按钮(ImageBotton)来接收,右键ImageButton ,找到ImageUrl属性,直接选择路径就可以了,在这里的路径是Handler.ashx。图片已经显示在页面上了,就需要进行验证。。。  用Session来接收 在注册页面aspx.cs代码下

 

数据库:

use mydb

create table zhuce
(
    Id  varchar(50) primary key not null,
	Uid varchar(50)  not null,
	Pwd varchar(50) not null,
	Adrs varchar(50),
)
select*from zhuce

select * from chinastates
select * from chinastates where ParentAreaCode=0000
select * from chinastates where ParentAreaCode=0001
select * from chinastates where ParentAreaCode=11
select * from chinastates where ParentAreaCode=1101

  

   

 

转载于:https://www.cnblogs.com/Mr-xue/p/4666239.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值