《JS的知识点》

开发工具与关键技术:VS MVC 
作者:黄姗姗
年级:18级
撰写日期:2019年.4月23日

一.为什么我写这个查询方法,没有用,一直报错?
《JS的知识点》

因为这两个相同,会发生冲突,不可以这样,是内部方问题。
《JS的知识点》
原因:1、myModel.SYS_Grade是model的模型,这个是数据库表的模型,
而SYS_Grade是一个继承了myModel.SYS_Grade的类,所以SYS_Grade继承了父类myModel.SYS_Grade的东西,如果你用到多表查询分页的话,而myModel.SYS_Grade是主表,在SYS_Grade里面就可以加扩展字段,比如myModel.SYS_Grade中有一个外键是用户ID、而你想查询出来用户名称,那么就要连表查询,而SYS_Grade里面就要添加用户名称这个扩展字段。
2、为什么要select new SYS_Grade呢,因为加了这个就是整合为一个类对象的意思吧,
加了SYS_Grade:
《JS的知识点》
不加的话就会这样:
《JS的知识点》
因为下面的List<SYS_Grade>,List,T需要的是对象,
分页的LayuiTableData也是,如果不加,就会出错。

二. layer.confirm这是个提示窗口,layer.close(index)是关闭这个提示窗口,这里应该是执行成功后关闭。
也可以这样写:根据实际情况来写,
Var layerone= layer.confirm(”确定要删除吗?”,{icon:3,’删除提示’,offset:’150px’},function());。
layer.close(layerone);关闭弹窗
比如你这里的,可以自己是试一下,删除成功才关闭这个弹窗,就把这句layer.close(index)这句放进删除成功的代码里面。
《JS的知识点》
三. 这两种方法都是一样的吗?只是写法不同吗?没有什么区别的吗?
1、 方法是一样的,只不过第一个查询出表中的数据后直接进行分页。第二个就是查询表中的数据后,在进行分页。第二种查询的话,数据表和分页是直接区分了,这个有利于以后的多条件查询。比如你在界面选了一个条件,就要传进来判断这个条件有没有成立,这样就可以拿单独查询出来的数据表list进行操作了,而分页下面的东西就可以不修改了,而在第一种的话写这些是比较不方便的,页面/视图有多条件查询的话建议使用第二种方法,如果没有建议第一种.
2、然后进行分页,where括号里面的是查询的条件,orderBy括号里面是排序,你这里是根据SpecaialtyCode排序,Skip括号里面是分页传过来的参数,即是第几页,take括号里面也是分页中的每页多少条数据.
《JS的知识点》
《JS的知识点》

四. 创建这个视图为什么要写得那么复杂呢,为啥要加那么多的代码呢?为什么呢?有什么作用呢,
1、 第一个控制器:这是一个原始的控制器,什么都没有,参数也没有可以这样写,
2、 第二个控制器:老师写的是,在某个视图页面的ID或者数据要传递到这个控制器的视图中,就要加参数,然后这个控制器的视图就可以获取数据了。现在控制器中SetGrade里面有ViewBage.AcademeID, 页面是根据@ViewBag来访问该控制器的内容,在这个控制器的视图里,就可以利用 @ViewBage.AcademeID来获取数据。
3、第三个控制器:判断Session中是否有UserID,如果没有就会跳到catch中去,然后返回登录界面。那么Session[“UserID”]是哪里来的呢,应该是登录成功后,老师写好的,已经赋值的了。如果你的新增需要当前登录进来的UserID,而你在一开始登录成功,不设置session,怎么获取呢,是没有的。所以就要设置session,然后在新增或者修改或者其他利用到UserID的时候就直接拿出来,如果没有或者掉失了,就让他重新登录。
《JS的知识点》