zoukankan      html  css  js  c++  java
  • 步步为营 .NET三层架构解析 七、UI的设计(登陆页面、注册页页和添加部门页面)

    在我们设计好了三层架构的SQLHelper、Model、DAL和BLL后,我们要开始来调用它设计好的功能了。

    首先我们来设计Login.aspx,先看界面的设计:

                                <table>
                                    <tr>
                                        <td style=" 100px; text-align: right">
                                            帐户名:</td>
                                        <td style=" 100px">
                                            <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox></td>
                                    </tr>
                                    <tr>
                                        <td style=" 100px; text-align: right">
                                            密码:</td>
                                        <td style=" 100px">
                                            <asp:TextBox ID="txtPassWord" runat="server" TextMode="Password"></asp:TextBox></td>
                                    </tr>
                                    <tr>
                                        <td style=" 100px">
                                        </td>
                                        <td style=" 100px">
                                            <asp:Button ID="btnLogin" runat="server" OnClick="btnLogin_Click1" Text="登陆" /></td>
                                    </tr>
                                </table>
    

    再来看Login.aspx.cs的设计:

    记得加上这个:

    using BLL;
    using Model;
    

    而后才是:

        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
        protected void btnLogin_Click1(object sender, EventArgs e)
        {
            custom Custom = new custom();
            customSystem CustomSystem = new customSystem();
            Custom = CustomSystem.GetSinglename(txtUserName.Text.Trim().ToString());
            if (Custom.ename == txtUserName.Text.Trim().ToString())
            {
                 // 密码是经过MD5加密后保存到数据库的
                if (Custom.password == FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassWord.Text.Trim().ToString(), "MD5"))
                {
                    department Department = new department();
                    departmentSystem DepartmentSystem = new departmentSystem();
                    Department = DepartmentSystem.Getsingledepartment(Custom.departID);
                    SetSession(Department,Custom.departID.ToString());
                }
                else
                {
                    Response.Write("<script>alert('密码错误');location.href='Login.aspx';</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('帐户名不存在');location.href='Login.aspx';</script>");
            }
    
        }
        private void SetSession(department Department,string DepartID)
        {
            if (Department == null || string.IsNullOrEmpty(DepartID))
            {
                Response.Write("<script>alert('网站运行错误或你没设置部门信息,请联系管理员.');location.href='Login.aspx';</script>");
                return;
            }
            Session["Ename"] = txtUserName.Text.Trim().ToString();
            Session["Departid"] = DepartID;
            Session["Operater"] = "";
            if (Department.departname == "控制中心")
            {
                Response.Write("<script>alert('登录成功');location.href='Default.aspx';</script>");
            }
            else
            {
                Response.Write("<script>alert('登录成功');location.href='Default2.aspx';</script>");
            }
        }
    

    接下来我们要在App_Code文件下新建PageBase.cs

        public bool IsAdmin()
        {
            if (Session["Departid"] != null)
            {
                department Department = new department();
                departmentSystem DepartmentSystem = new departmentSystem();
                Department = DepartmentSystem.Getsingledepartment(int.Parse(Session["Departid"].ToString()));
                if (Department.departname != "控制中心")
                {
                    Response.Redirect("/Web/Login.aspx");
                    Response.End();
                    return false;
                }
            }
            else
            {
                Response.Redirect("/Web/Login.aspx");
                Response.End();
                return false;
            }
            return true;
        }
    

    加入下面之个方法:

    再来看下ADDdepart.aspx的设计:

     <table>
                <tr>
                    <td style=" 100px">
                        部门名称:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtDepartmentName" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td style=" 100px">
                        描述:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtDescription" runat="server"></asp:TextBox></td>
                </tr>
                <tr>
                    <td style=" 100px">
                    </td>
                    <td style=" 100px">
                        <asp:Button ID="btnAdd" runat="server" OnClick="btnAdd_Click" Text="增加" /></td>
                </tr>
            </table>
    

    ADDdepart.aspx.cs的设计:

    //继承PageBase类
    public partial class ADDdepart : PageBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                IsAdmin();
            }
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            department Department = new department();
            department Departmenter = new department();
            departmentSystem DepartmentSystem = new departmentSystem();
            Department.departname = txtDepartmentName.Text.Trim();
            Department.description = txtDescription.Text.Trim();
            Departmenter = DepartmentSystem.Getdepartmenter(txtDepartmentName.Text.Trim());
            if (Departmenter.id <= 0)
            {
                if (DepartmentSystem.Adddepartment(Department) >= 1)
                {
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('恭喜您,部门添加成功!');</script>");
                }
            }
            else
            {
                ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('您填的部门己存在,请更改!');</script>");
            }
      }
    }
    

    再来看下注册页面Register.aspx的设计:

     <table>
                <tr>
                    <td style=" 100px; text-align: right">
                        帐户名:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox></td>
                    <td style=" 100px">
                    </td>
                </tr>
                <tr>
                    <td style=" 100px; text-align: right;">
                        姓名:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtName" runat="server"></asp:TextBox></td>
                    <td style=" 100px">
                    </td>
                </tr>
                <tr>
                    <td style=" 100px; text-align: right;">
                        年龄:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtAge" runat="server"></asp:TextBox></td>
                    <td style=" 100px">
                    </td>
                </tr>
                <tr>
                    <td style=" 100px; text-align: right;">
                        密码:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtPassWord" runat="server" TextMode="Password"></asp:TextBox></td>
                    <td style=" 100px">
                        <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox4"
                            ControlToValidate="TextBox5" ErrorMessage="密码不一样"></asp:CompareValidator></td>
                </tr>
                <tr>
                    <td style=" 100px; text-align: right;">
                        重复密码:</td>
                    <td style=" 100px">
                        <asp:TextBox ID="txtConfirmPassWord" runat="server" TextMode="Password"></asp:TextBox></td>
                    <td style=" 100px">
                    </td>
                </tr>
                <tr>
                    <td style=" 100px; text-align: right;">
                        部门:</td>
                    <td style=" 100px">
                        <asp:DropDownList ID="ddlDepartment" runat="server">
                        </asp:DropDownList></td>
                    <td style=" 100px">
                    </td>
                </tr>
                <tr>
                    <td style=" 100px">
                    </td>
                    <td style=" 100px">
                        <asp:Button ID="btnLogin" runat="server" OnClick="btnLogin_Click" Text="注册" /></td>
                    <td style=" 100px">
                    </td>
                </tr>
            </table>
    

    下面是Register.aspx.cs的设计:

       protected void Page_Load(object sender, EventArgs e)
        {
            
            if (!IsPostBack)
            { 
                BinData();
            }
        }
        public void BinData()
        {
            List<department> Departmentlist = new List<department>();
            departmentSystem DepartmentSystem = new departmentSystem();
            Departmentlist = DepartmentSystem.GetDepartment();
            ddlDepartment.DataSource = Departmentlist;
            ddlDepartment.DataTextField = "departname";
            ddlDepartment.DataValueField = "id";
            ddlDepartment.DataBind();
        }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            custom Custom = new custom();
            customSystem CustomSystem = new customSystem();
            custom Customn = new custom();
            Customn = CustomSystem.GetSinglename(txtUserName.Text.Trim());
            if (Customn.id <= 0)
            {
                Custom.ename = txtUserName.Text.Trim();
                Custom.cname = txtName.Text.Trim();
                Custom.age = Convert.ToInt32(txtAge.Text.Trim());
                Custom.password = FormsAuthentication.HashPasswordForStoringInConfigFile(txtPassWord.Text.Trim(), "MD5");
                Custom.departID = int.Parse(ddlDepartment.SelectedValue);
                if (CustomSystem.customADD(Custom) >= 1)
                {
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('恭喜您,帐号添加成功!');</script>");
                }
            }
            else
            {
                ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('你输入的帐户名己存在,请更改!');</script>");
            }
        }
    

    以上只是UI简单的调用BLL的功能,下次再讲解下GridView调用BLL和GridView的分页,可能我设计的只是较简单,欢迎大家提出你们宝贵的意见.来共同提高.欢迎拍砖.

  • 相关阅读:
    一些问题
    为什么Python在列表,元组和字典的末尾允许使用逗号?
    #!/bin/bash
    gitbook 入门教程之小白都能看懂的 Gitbook 插件开发全流程
    go 学习笔记之10 分钟简要理解 go 语言闭包技术
    gitbook 入门教程之还在搞公众号互推涨粉?gitbook 集成导流工具,轻轻松松躺增粉丝!
    go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包
    go 学习笔记之学习函数式编程前不要忘了函数基础
    go 学习笔记之无心插柳柳成荫的接口和无为而治的空接口
    go 学习笔记之万万没想到宠物店竟然催生出面向接口编程?
  • 原文地址:https://www.cnblogs.com/springyangwc/p/1997314.html
Copyright © 2011-2022 走看看