好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

作者: Leo_wl

    

出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于步步为营 .NET三层架构解析 七、UI的设计(登陆页面、注册页页和添加部门页面)的详细内容...

  阅读:48次