ASP.NET中利用控件实现简单的登录界面

前言

我得先说一下,我的网页大多依赖asp.net的控件使用,没有系统学过C#、HTML,但也知道一点。所以如果有些地方写的不好,不足的还请谅解,当然也欢迎评论,也许可以在评论中再增长一些知识。

基础知识

1、 创建web网页(我说的是完整的创建过程,如果你有已经建好的应用程序,则可以直接跳到第(4)步):

(1)打开你的VS应用→点击创建新项目ASP.NET中利用控件实现简单的登录界面_第1张图片
(2)在搜索中输入asp.net → 语言选择C# → 选中ASP.NET Web应用程序 → 点击下一步。
ASP.NET中利用控件实现简单的登录界面_第2张图片
(3)设置你的项目名称,你也可以自己定义存储的地方,设置好之后点击创建。ASP.NET中利用控件实现简单的登录界面_第3张图片
(4)鼠标右键单击 → 添加 → 新建项

ASP.NET中利用控件实现简单的登录界面_第4张图片
(5)点击Web Forms → 点击Web窗体 →编辑你的网页名称 → 添加
ASP.NET中利用控件实现简单的登录界面_第5张图片
2.用到的控件介绍(控件都在左侧的工具箱中,直接搜索关键字,拖拽即可使用,对于新手来说极其方便)

  • TextBox : 文本输入框
  • RequiredFieldValidator : 非空验证,以下是它的一些重要属性,作用就是当你输入非空值时有效,否则显示出你的ErrorMessage,下面画箭头的两个,用上面一个即可,从字面意思上描述,貌似上面的作用包含下面的。使用这个控件的时候记得设置Enabled为True
    ASP.NET中利用控件实现简单的登录界面_第6张图片
  • Button : 按钮,一般作为事件响应的介质。

登录界面搭建步骤

1.建立数据库(Class)中的用户表(Users):里面三个字段,分别为ID、Name、PassWord,设置ID为主键,字段值都不能为空。

2.进入VS,新建一个Web窗体,我这里建立的是Login.aspx。

3.将Login.aspx中的源代码全部删除,进入设计界面,先写一个登录文字(你可以任意修改),然后点击上面属性栏里的表,插入一个三行三列的表。“账号:”和“密码:”都是直接输入文字即可,然后就拖拽2个TextBox文本框(ID分别为: txtLoginName、 txtLoginPwd),一个用于输入ID和密码, 通过RequiredFieldValidator验证控件,验证是否输入为空,如果不为空,则显示验证错误信息;如果验证通过,则弹出提示窗口。2个RequiredFieldValidator验证控件和1个Button按钮(ID为: btnLogin)。 效果如图所示。

ASP.NET中利用控件实现简单的登录界面_第7张图片
4.设置界面的排版,你可以选中每个控件,然后进入源代码部分,去做代码的调整。例如:选中最上面的登录,出现如图所示的样子,然后在上面写 align = “center”,让它居中放置。最左侧的两行文字“账号:”和“密码:”在td里面写入 align =“right”(就跟这个是p里面一样)。 中间的文本框在asp里面加入Width=“100%”。按钮部分在td里面写入align =“center”,居中放置。然后再设置表格的宽度:在 type ="text/css"那里左边宽度设为 width: 40%;中间设为width: 20%。最后布局效果就是我这样啦。

在这里插入图片描述
5.验证控件属性设置成如图所示,密码那块的TextBox的属性那里找到TextMode设为PassWord,表示隐藏具体密码输入。
ASP.NET中利用控件实现简单的登录界面_第8张图片
6.编写配置文件,在Web.config文件中中写:

 <add name ="dbConnstr" connectionString ="Data Source=数据库名称;Initial Catalog=用到的库名称;UID=SQL用户名;Password=Sql登录密码"
		   providerName="System.Data.SqlClient"/>

7.编写事件。点击button按钮,进入Login.aspx.cs中,以下是触发验证的代码:

        //创建公共变量connStr
        public string connStr =
            ConfigurationManager.ConnectionStrings["dbConnstr"].ConnectionString;
        protected void Button1_Click(object sender, EventArgs e)
        {
            //获取登录名和密码信息
            String strLoginName = txtLoginName.Text;
            String strLoginPwd = txtLoginPwd.Text;
            //访问数据库Users表,验证登录账号
            //第一步:建立连接对象conn
            SqlConnection conn = new SqlConnection(connStr);
            //设置SQL查询语句
            string sql = "select * from Users Where ID='"+ strLoginName +"' And  Password ='"+ strLoginPwd + "'";
            //创建sqlCommand对象
            SqlCommand cmd = new SqlCommand(sql, conn);
            //打开conn连接对象
            conn.Open();
            //利用SqlCommand对象,创建SqlDataReader对象,用于判断SQL语句执行的结果
            SqlDataReader dr = cmd.ExecuteReader();
            //如果产生匹配的记录集,则说明用户名和密码相互匹配,可以登录
            if (dr.Read())   //如果有数据,则dr.Read()为Ture
              {
                //登录验证成功
                //赋Session["Login"]值,用于判断是否正常登录
                Session["LoginXX"] = "ok";
                //赋Session["LoginName"]值为当前用户名,可以用于后台管理页面
                Session["LoginName"] = strLoginName;
                Session["ID"] = dr["ID"].ToString();//获取匹配记录的用户ID,字段ID,并传到后台首页
                //登录成功后跳转的页面,我设的是Default.aspx
                Response.Redirect("Default.aspx");
               }
            else
              {  //alert()弹窗函数
                Response.Write("");
               }

            }

8.运行展示
(1)输入空的账号和密码,出现提示信息。
ASP.NET中利用控件实现简单的登录界面_第9张图片
(2)输入错误的账号和密码。
ASP.NET中利用控件实现简单的登录界面_第10张图片
弹框出现提示信息。
ASP.NET中利用控件实现简单的登录界面_第11张图片
(3)输入正确的账号和密码,可以看见跳转到Defaul页面(嘻嘻……)
ASP.NET中利用控件实现简单的登录界面_第12张图片

遇见的问题以及解决办法

  • Initial Catalog书写问题,中间有空格。
  • 在Default.aspx网页中这样做之后点击Button按钮出现的不是.cs文件而是.aspx。我的解决办法是重新建一个网页,反正我搜了一大堆,貌似是说缺少继承,所以没能跳转到.cs,大概就是少了类似这段代码<%@ Page Language=“C#” AutoEventWireup=“true” CodeBehind=“Login.aspx.cs” Inherits=“学生选课管理.Login” %>。
  • 运行过程中出现有关ConfigurationManager、SqlConnection的命名空间错误,或是不合法之类的语法错误,在.cs文件中添加
using System.Data.SqlClient;
using System.Configuration;
  • 数据库配置连接问题:运行到最后提示“在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接”。可能有两个方面存在问题:一个是你的数据库实例创建的问题,一个是你远程方面未开启。
    ①数据库实例问题:点击你的数据库引擎,查看本地服务器组,鼠标右键点击“新建服务器注册”,找到你现在登录的数据库账号,然后点击测试即可。这时候你再运行一下,如果可以最好,不行的话你再试试第二种方法。
    ASP.NET中利用控件实现简单的登录界面_第13张图片
    ②远程未开启问题:
    打开你的“SQL Server 配置管理器”,将你的SQL Server服务都改为启动。
    打开SQL Server选择数据库,右键->Facets。下拉框选择“服务器配置”,将那些远程有关的都设为True。
    ASP.NET中利用控件实现简单的登录界面_第14张图片
    下拉框选择“外围应用配置器”,按图设置。到这一步完成我的就可以正常运行了,若是这样还解决不好,那你就再多百度看看是什么问题。
    ASP.NET中利用控件实现简单的登录界面_第15张图片

你可能感兴趣的:(控件实现网页设计)