开发工具与关键技术:VS+切换停用状态
作者: 李伙
撰写时间: 2019年6月15日
在学习MVC过程中,我们在建物理模型的时候都会用bit数据类型,bit数据类型一般用来表示是或者否这两种状态,这种类型在我们编写代码时是非常有用的,比如付款方式我们可以利用bit数据类型来决定某种付款方式是否停用,停用后就在客户选择某种付款方式来进行付款时就把停用后的付款方式去掉,这样客户就不会选中已经停用的付款方式。下面看看如何切换是否停用状态的。
如上图所示:我们可以在数据表格中自定义某一列的值,因为这里我们是要切换是否停用状态的,所以我们就自定义“停用标志”列,因为这里的数据表格是用到layui插件实现,所以要引用相应的js和css。在自定义某一列的值,要用表头参数中的templet,templet表示自定义列模板,这里的付款方式的自定义列模板的格式为“templet:Block”Block是自己定义的名称,是用来写方法的。上图中,首先是获取停用标志和付款方式ID,然后再拼接button按钮,再分别给禁用与启用一个点击事件。自定义“停用标志”列的效果如下:
然后就是给禁用与启用一个点击事件。如下:
如上图所示:是为禁用和启用写的一个方法,“function”里的两个参数是来自于自定义“停用标志”列中获取到的停用标志(BlockUp)和付款方式ID(PaymentWayID),这两个参数是要传递到控制器中的,付款方式ID(PaymentWayID)是为了获取到需要修改的数据,停用标志(BlockUp)是为了记录切换状态。这里用到了三目运算。用post请求方式,然后是其的路径,传递到控制器的参数,回调函数。切换成功后就刷新表格。这样js部分的代码就写完了,再到控制器写控制器的代码。
如上图所示:是控制器中的代码,第一步是用“try catch”来捕获异常,因为Single()的结果只能是一条,0条或者两条以上就会触发异常,所以要用“try catch”来捕获异常。然后是先查询出PaymentWayID对应的数据,这里是根据PaymentWayID来查询的,然后就修改其停用标志的状态,再判断myModel.SaveChanges()是否大于0,大于则说明更改成功,否则更改失败。这样切换是否停用状态就完成了。