背景

  • 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了。

    网站介绍

  • 根据书上的例子做了一个比较粗糙的登录例子,里面的代码都是自己敲出来的,而且很少使用封装方法,就是为了让自己能更清楚的记住做的过程。
  • 这个网站包含注册、登录、修改密码三个功能。
  • 注册介绍

  • 新建一个Web窗体,即UserManagers.aspx。不粘贴前台代码了。然后编写注册方法,包括用户名当作主键,SqlDataReader方式读取数据库,SqlCommand参数添加数据等要点
  • protected void Button1_Click(object sender, EventArgs e)
    {
    if (txtName.Text == "" || txtPwd.Text == "" || txtConfirm.Text == "")
    {
    this.Page.RegisterStartupScript("ss", "<script>alert('用户名密码不能为空')</script>");
    return;
    } if (txtPwd.Text.Equals(txtConfirm.Text))
    {
    //查看当前用户是否存在
    SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
    sqlConn.Open();
    string sql = "select * from tb_user where username = '" + txtName.Text.Trim() + "'";
    SqlCommand sqlCommand = new SqlCommand(sql, sqlConn);
    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
    if (sqlDataReader.Read())
    {
    Page.RegisterStartupScript("", "<script>alert('用户名已存在!')</script>");
    return;
    }
    sqlDataReader.Close(); //新增用户
    string strInsert = "insert into tb_user(username, pwd, marks) values (@username,@pwd, @marks)";
    sqlCommand = new SqlCommand(strInsert, sqlConn);
    sqlCommand.Parameters.Add("@username", SqlDbType.VarChar);
    sqlCommand.Parameters["@username"].Value = txtName.Text; sqlCommand.Parameters.Add("@pwd", SqlDbType.VarChar, 20);
    sqlCommand.Parameters["@pwd"].Value = txtPwd.Text; sqlCommand.Parameters.Add("@marks", SqlDbType.VarChar, 1000);
    sqlCommand.Parameters["@marks"].Value = "zbq测试"; sqlCommand.ExecuteNonQuery();
    sqlConn.Close(); Page.RegisterStartupScript("", "<script>alert('注册成功!')</script>");
    Response.Redirect("Default.aspx?Name=" + txtName.Text + "");
    }
    }

    界面效果如下

    登录介绍

  • 首先添加登录窗口ManageLogin.aspx,然后写登录代码,包含验证码这一要点

  • protected void btnLogin_Click(object sender, EventArgs e)
    {
    if (string.IsNullOrEmpty(txtName.Text)|| string.IsNullOrEmpty(txtPwd.Text) || string.IsNullOrEmpty(txtValid.Text))
    {
    Page.RegisterStartupScript("", "<script>alert('信息填写不完全!')</script>");
    return;
    }
    if (!txtValid.Text.ToUpper().Equals(Session["ValidNums"]))
    {
    Page.RegisterStartupScript("", "<script>alert('验证码不正确!')</script>");
    return;
    } SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
    sql.Open(); string select = "select * from tb_user t where t.username = '" + txtName.Text.Trim() + "' and pwd = '" + txtPwd.Text.Trim() +
    "'"; SqlCommand command = new SqlCommand(select, sql); SqlDataReader dataReader = command.ExecuteReader(); if (dataReader.Read())
    {
    //成功就跳转
    Response.Redirect("Default.aspx?Name=" + txtName.Text + "");
    }
    else
    {
    Page.RegisterStartupScript("", "<script>alert('账户名或密码错误!')</script>");
    dataReader.Close();
    return;
    }
  • 登录效果如图
  •   

    修改密码介绍

  • 首先建立一个EditPwd.aspx窗体
  • <table class="table" border="1px" align="center">
    <tr>
    <td class="firstTd">用户名:</td>
    <td >
    <asp:DropDownList runat="server" ID="names" Width="200px" Height="20px" />
    </td>
    </tr>
    <tr>
    <td class="firstTd">原密码:</td>
    <td >
    <asp:TextBox runat="server" ID="txtOldPwd" TextMode="Password" />
    </td>
    </tr>
    <tr>
    <td class="firstTd">新密码:</td>
    <td >
    <asp:TextBox runat="server" ID="txtNewPwd" TextMode="Password"></asp:TextBox>
    </td>
    </tr>
    <tr>
    <td class="firstTd">&nbsp;</td>
    <td align="right">
    <span >
    <asp:Button runat="server" ID="btnSure" OnClick="btnSure_Click" Text="确认登录"/>
    <asp:Button runat="server" ID="btnCancle" OnClick="btnCancle_Click" Text="取消"/>
    </span>
    </td>
    </tr> </table>

    然后编写修改方法,包含SqlDataAdapter + DataSet关键点

    protected void Page_Load(object sender, EventArgs e)
    {
    //初始化数据
    if (!IsPostBack)
    {
    SqlConnection sql = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
    sql.Open();
    string select = "select * from tb_user";
    SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(select, sql); DataSet dataSet = new DataSet();
    sqlDataAdapter.Fill(dataSet);
    sql.Close();
    if (dataSet.Tables[0].Rows.Count> 0)
    {
    for (int index = 0; index < dataSet.Tables[0].Rows.Count; index++)
    {
    names.Items.Add(dataSet.Tables[0].Rows[index][1].ToString()); }
    }
    }
    }
    protected void btnSure_Click(object sender, EventArgs e)
    { if (string.IsNullOrEmpty(txtNewPwd.Text) || string.IsNullOrEmpty(txtOldPwd.Text))
    {
    Page.RegisterStartupScript("", "<script>alert('密码不能为空或者不能不相等!')</script>");
    return;
    } SqlConnection sqlConnection = new SqlConnection("server=PC-20150424DMHQ;database=MyDatas;uid=sa;pwd=123456");
    string select = "select * from tb_user where username = '" +names.Text + "'";
    SqlCommand sqlCommand = new SqlCommand(select, sqlConnection);
    sqlConnection.Open();
    SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
    if (sqlDataReader.Read())
    {
    if (sqlDataReader["pwd"].ToString() != txtOldPwd.Text)
    {
    Page.RegisterStartupScript("", "<script>alert('密码输入错误!')</script>");
    return;
    }
    }
    else
    {
    Page.RegisterStartupScript("", "<script>alert('数据库连接错误!')</script>");
    return;
    }
    sqlConnection.Close();
    sqlDataReader.Close(); //修改密码
    sqlConnection.Open();
    string updatePwd = "update tb_user set pwd = '" + txtNewPwd.Text + "' where username = '" + names.Text + "'";
    sqlCommand = new SqlCommand(updatePwd, sqlConnection); sqlCommand.ExecuteNonQuery();
    sqlConnection.Close();
    Page.RegisterStartupScript("", "<script>alert('修改成功!')</script>");
    Page_Load(null, null);
    }

    修改密码界面效果

    ASP.NET菜鸟之路之登录系统的更多相关文章

    1. ASP.NET菜鸟之路之Application小例子

      背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Session介绍 Application对象用 ...

    2. ASP.NET菜鸟之路之实现新闻列表增删改

      背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. 网站介绍 根据视频的例子修改的方法,其中数据不经 ...

    3. ASP.NET菜鸟之路之Seesion小例子

      背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Session介绍 Session保存特定用户相 ...

    4. ASP.NET菜鸟之路之Request小例子

      背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Request获取值 Request获取值有两种 ...

    5. ASP.NET菜鸟之路之Response小例子

      背景 我是一个ASP.NET菜鸟,暂时开始学习ASP.NET,在此记录下我个人敲的代码,没有多少参考价值,请看到的盆友们为我点个赞支持我一下,多谢了. Response.Write Redirect ...

    6. 教你开发asp.net的单点登录系统

      单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在 ...

    7. 菜鸟之路——Linux基础::计算机网络基础,Linux常用系统命令,Linux用户与组权限

      最近又重新安排了一下我的计划.准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细.比我上一套机器学习好的多了. 他的第一阶段是Python基础,第二阶段是高等数学基础,主要将机器学习和深度 ...

    8. ASP.net 实现禁止用户重复登录

      本文先为大家介绍如何利用缓存Cache方便地实现此功能. Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户:而Session是 ...

    9. Easyui + asp.net MVC 系列教程 完成登录

      Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制 前面八节 在这里 Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门 在接下 ...

    随机推荐

    1. Zabbix的LLD功能--Low-level discovery

      感觉这个主题是和一个主题是一个系列,而且更基础. 准备深入研究一下... 相关文档准备: https://www.zabbix.com/documentation/2.0/manual/discove ...

    2. Spring中用@Component、@Repository、@Service和 @Controller等标注的默认Bean名称会是小写开头的非限定类名

      今天用调度平台去调用bean中的方法时,提示找不到bean.经查,发现是由于如果在标注上没有提供name属性值,则默认的bean名称是小写开头的,而不是大写开头的. 下面是其他文档参阅: 使用过滤器自 ...

    3. CF-164C. Machine Programming(最小费用最大流)

      题意: 给你n个任务,k个机器,n个任务的起始时间,持续时间,完成任务的获利 每个机器可以完成任何一项任务,但是同一时刻只能完成一项任务,一旦某台机器在完成某项任务时,直到任务结束,这台机器都不能去做 ...

    4. 数学(逆元):BZOJ 2186: [Sdoi2008]沙拉公主的困惑

      2186: [Sdoi2008]沙拉公主的困惑 Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞 ...

    5. 导出C++ dll文件

      方法1. 直接新建 Qt dll library, 使用工程自动创建的宏定义 方法2. (1)新建一个Empty的Win32项目(如ExampleDLL),选择Application type 为DL ...

    6. 422. Valid Word Square

      似乎可以沿着对角线往右往下检查,也可以正常按题设检查. 我用的后者.. public class Solution { public boolean validWordSquare(List<S ...

    7. Android Developers:两个视图渐变

      淡入淡出动画(也被称为渐隐)逐渐淡出一个UI组件,同时淡入另一个.这个动画在你想在你的应用程序中切换内容或者是视图的情况下非常有用.淡入淡出非常微妙并短,但支持从一个屏幕到下一个屏幕流畅的过渡.当你不 ...

    8. 如何把textfield或者textview中长按出现的(全选,复制,粘贴)显示成中文

      ios在配置文件info.plist 中添加Localiztion native development region (本地化设置) 设置为 china

    9. Hadoop HDFS (3) JAVA訪问HDFS

      如今我们来深入了解一下Hadoop的FileSystem类. 这个类是用来跟Hadoop的文件系统进行交互的.尽管我们这里主要是针对HDFS.可是我们还是应该让我们的代码仅仅使用抽象类FileSyst ...

    10. HDU-1053-Entropy(Huffman编码)

      Problem Description An entropy encoder is a data encoding method that achieves lossless data compres ...