MVC

作者: 山猪打不过家猪 | 来源:发表于2022-11-07 17:47 被阅读0次

    1.简单用户登陆

    1.1结构
    image.png
    1.2 详细内容
      1. App_Start文件夹RouteConfig.cs
        用户通过Router里的路由的默认规则,通过Controller里的Index() 进入到View视图里的SysAdmin页面,此时,就有了一个登陆窗口。
        image.png
      1. View文件夹AdminLogin.cshtml
        用户输入密码账号后,点击登陆,首先通过页面中的Form表单,将数据提交到路由SysAdmin里的,AdminLogin方法。
        image.png
      1. Controllers文件夹SysAdminController.cs
        路由收到用户提交的表单信息,首先通过Request.Params获取数据,然后封装成一个Admin对象,
        然后将该对象传递给BLL层的AdminLogin方法
        image.png
      1. BLL中的SysAdminManager.cs
        BLL层的AdminLogin方法接受到,用户输入的封装对象,然后给DAL层进行数据库查询,返回数据库查询结果,如果有这个用户,这返回用户对象,且保存用户对象的session。
        image.png
      1. DAL中的SysAdminService.cs
        处理上面封装的用户信息查询数据库,返回对象
        image.png
      1. Models中的SysAmind.cs
        用户对象的类
        image.png

    2.根据班级名称模糊查询班级

    • 1.Views的SysAdmin文件AdminLogin.cshtm:登录之后,点击学院管理应该跳转到一个用户列表页,所以首先需要一个跳转的链接

      image.png
    • 2.Controllers的StudentsController.cs:通过这个链接的设定,我们定义了下面需要写的控制器的名称,需要添加一个Students的控制器,来控制所有学员操作,在添加一个StudentsManage的控制器方法

      image.png
    • 3.此时,用户就已经可以通过设置的路由跳转过来了,当用户在点击搜索的时候,控制器获取View传过来的ClassName,然后通过BLL的方法,再到DAL层进行查询,查询模型是Students这个类;至此这里的整个思维过程就结束。我们可以根据思维过程逆向编程,比如:①先写好Models层的Students类;②在到DAL里面编写,通过班级名称的查询①里面的学生类所需要的信息,然后封装到一个List<Students> stuList里;③BLL层处理查询出来的学生信息列表 ④控制器StudentsController.cs接受到查询出来的列表,然后再交给View层;⑤View层拿到学生列表,然后进行列表填充;但是这里,我们使用顺着代码来写

    • 4.写到控制器StudentsController.cs的时候,①首先需要接受用户提交查询的参数,②然后,需要学生查询后的列表 ③ 把查询出来的列表返回给View

      image.png
    • 5.这样控制器的框架我们就搭建完成了,然后,建立View层,完善4里面的1)写一个input标签和查询。

      image.png
      注意:红色的地方是获取session
      1. 接下就是4步骤里面的2)了,需要BLL层来传递数据SudentsManager.cs
        image.png
    • 7.然后是编写DAL完善,BLL的方法StudentsService.cs

      image.png
    • 8.然后根据查询,完善Models层Students类


      image.png
    • 9.然后编写4步骤里的最后一步,View层接受数据,填充表格,StudentsManage.cshtml

    3.查询学员详情

    • 1.通过get方法传递学生Id,到学生控制器里的,GetStudentDetail方法


      image.png
    • 2.去Students的总路由里,编写StudentsDetail方法


      image.png
    • 3.BLL,DAL通过学生ID查询单个学生的详情


      image.png
    image.png
    • 4.通过ViewData[]方式传递到View层GetStudentsDetail.cshtml
      image.png
      注意:这里我们ViewData获取到的数据时object类型,所以我们需要将其强转为Students类型,来获取里面的数据
    • 这里有个问题就是:我们在详情的视图里强制转换了类型,改进,改为在控制器里传递学生类

    4. 数据传递方法汇总

    4.1 TempData跨请求数据传递

    用于不同控制器 之间传递数据

    相关文章

      网友评论

          本文标题:MVC

          本文链接:https://www.haomeiwen.com/subject/jygbtdtx.html