知识总结

MVC基础概念和Web程序


通过MVC的编程模式的vs进行后台控制器操作

  • MVC 编程模式
  • MVC 是三种 ASP.NET 编程模式中的一种。
  • MVC 是一种使用 MVC(Model View
    Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

1.Model(模型)表示应用程序核心(比如数据库记录列表)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
2.View(视图)显示数据(数据库记录)。是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
3.Controller(控制器)处理输入(写入数据库记录)。是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
1.会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。
区别在于Cookie是通过在客户端(浏览器)记录保存信息确定用户身份而Session 是通过在服务器端记录信息确定用户身份
Cookie机制:
Cookie相当于给客户端一个身份证,当客户端再次登录时服务端就会可以通过这个保存到Cookie的身份证进行辨认用户的状态,同时还可以在服务端上修改Cookie的内容
Session机制:
Session是服务器端使用的一种记录客户端状态的机制,Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。
安全性:相对于Cookie来说Session 的保存方式更安全些
HTML5的WebStorage提供了两种API:localStorage(本地存储)和sessionStorage(会话存储)。
1、localStorage:localStorage的生命周期是永久的,关闭页面或浏览器之后localStorage中的数据也不会消失。localStorage除非主动删除数据,否则数据永远不会消失。
2、sessionStorage的生命周期是在仅在当前会话下有效。sessionStorage引入了一个“浏览器窗口”的概念,sessionStorage是在同源的窗口中始终存在的数据。只要这个浏览器窗口没有关闭,即使刷新页面或者进入同源另一个页面,数据依然存在。但是sessionStorage在关闭了浏览器窗口后就会被销毁。同时独立的打开同一个窗口同一个页面,sessionStorage也是不一样的。

3、localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理
4、localStorage和sessionStorage的存储数据大小一般都是:5MB
5、localStorage和sessionStorage都保存在客户端(浏览器),不与服务器进行交互通信。
.setItem(key,value); //用于添加和修改保存的数据 key不存在时为添加,key存在时为修改.
.getItem(key); //获取指定key的value
.removeItem(key);//移除指定key的数据

事务的使用和分页查询

分页查询

  1. 定义分页需要的类(LayuiTablePage LayuiTableData)
  2. 将定义好的类添加字段
    LayuiTablePage :
    当前页码: public int page { get; set; }
    分页大小: public int limit { get; set; }
    获取要跳过的数据条数(同时也是要查询的数据的开始索引):
    public int GetStartIndex{ return (page - 1) * limit; }
    分页数据结束位置的索引:
    public int GetEndIndex{ return page * limit - 1; }
    LayuiTableData :
    状态: public int code{ get; set; }
    消息: public string msg { get; set; }
    数据总条数: public int count { get; set; }
    查询的数据: public List data { get; set; }
    3.查询数据
    public ActionResult SelectAirport(LayuiTablePage layuiTablePage)
    layuiTablePage:参数

注意:要进行分页一定要用orderby排序
Skip:表示从第几条数据开始,也就是说在这之前有多少条数据
Take:的意思是显示多少条数据,也就相当于我们常用的pagesize
举例:Skip(1).Take(4)
上面这段语句的意思是从第二条数据开始显示4条
4.条件筛选
5.查询数据的总条数 Lambda表达式
int totalRows=myModel.S_Airport.Coun();
6.调用分页封装类 LayuiTableData
第一种方法:
layuiTableData.count = totalRows;//总条数
layuiTableData.data = listData;//数据
第二种方法:
LayuiTableData<S_Airport>layuiTableData=new LayuiTableData<S_Airport>()
{count = totalRows,//总条数
data = listData//数据};
7.返回数据
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
*开启事务:
在控制器中进行多数据的操作,为了保证数据的一致完整性,防止数据保存异常,出现数据没有保存到数据库,或者一半成功一半失败的异常现象出现,为了避免这种情况的发生,我们需要使用事务这个方法。
!!!开启事务后一定要在成功的方法内进行提交事务,否则数据无法保存到数据库中。
代码如下:事务的保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值