开发工具与关键技术:VS2015 MVC
作者:超级小贱贱
撰写时间:2019年6月27日
在之前分享过的文献中,有写出过关于如何将左边的固定数据(从数据库查询出来)的表格里面的部分内容添加进右边的 Session 表格中,现在呢我发现有个Bug,就是移进 Session之后,不保存,直接关掉,然后重新打开的时候,发现 Session表格里面还残留着上一次添加进去的数据,所以本次文献内容第一个实用小细节就是:清除 Session 里面的残留内容。
首先呢是控制器,创建好一个方法public ActionResult QKsession()
,直接给一个清除Session关键句Session.Clear()
,然后在返回一个 true 值return Json(true, JsonRequestBehavior.AllowGet);
,然后控制器就完成了,是不是很简单?
然后就是视图层,视图层代码也同样简单,首先我是给关于移进移出操作的 Session 表格模态框的右上角有一个“X”关闭按钮和右下角有一个“关闭”按钮一个同样的点击事件οnclick=“QKsession()”,然后给个方法function QKsession(){ }
,用post表单提交方法,请求一下在控制器写好的方法,完成之后再刷新一下页面$.post("QKsession",function(){location.reload();})
虽然看上去很简单,代码不超过10句,但平时做项目的时候也千万别忘记了,只要做关于到 Seesion 的事,就一定要有个清除的操作。
第二个实用小细节,就是关于下拉框改变事件,具体点就是当我点击下拉框的时候就会触发某些事件发生,比如我这个,房台下拉框,当我选择到其中一个房台的时候,就会根据我选中的房台去查询它里面对应的信息,并一起显示出来,如图
打五角星的那个就是我选中的房台号,然后随之一起显示的分别有折扣;当前市别;单号和账号,怎么完成的呢?
首先来到控制器,创建好一个方法public ActionResult SelectDouble(int RoomID){ }
,其实也就是一个简单的查询方法,多的不说少的不落,截图吧
讲解一下,为什么结尾要用Single();因为我的查询方法对应的功能是一个房台对应一个预定消费信息,自然而然的不可能出现第二个,所以就用的是Single();
接着就是视图层。注意喔,因为是改变事件,所以选中到那个下拉框ID之后给一个change改变事件$("#XFRoom").change(function(data){ }
,然后就是获取到下拉框的ID var xfroom=$("#XFRoom").val();
,最后用post提交方法请求一下控制器那边写好的方法,然后在获取到需要同时进行改变的input框id就行
效果演示就是一开始那张图片,一选好其中一个房台就会绑定对应的信息。
最后一个实用细节呢,就是通过在视图层获取页面数据传到控制器查询一并显示到临时表里面,如图,房台号,数量和折扣的数据都是没有的
这里的话首先是视图层,先声明三个变量分别等于对应的input框的 id 值var Quantity=$("#XFNumber").val();
//数量var RoomNumber=$("#XFRoom").val();
//房台号var Discount=$("#ZheDis").val();
//折扣,然后在放到layui表格方法里面的方法级渲染
接着是控制器,在对应的方法里面,比如我这里是通过点击添加将左边的数据传递过去的,那就声明三个页面参数,在查询对等就ok了,最后在回到视图层那边请求一下写好的方法就完成了。