• 推荐
  • 评论
  • 收藏

步步为营 .NET三层架构解析 七、UI的设计(登陆页面、注册页页和添加部门页面)

2022-11-12    5511次浏览

在我们设计好了三层架构的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的分页,可能我设计的只是较简单,欢迎大家提出你们宝贵的意见.来共同提高.欢迎拍砖.

原文地址:https://www.cnblogs.com/Leo_wl/p/1998442.html