状态的作废按钮和默认新增时启用
开发工具与关键技术:MVC,JavaScript
撰写时间:2019.07.07
想要给状态的作废按钮就必须要和启用按钮是异步的,也就是说按钮只能是一个,在我点击作废时状态就处于作废状态,但按钮的文字就变成启用,点击启用时状态回归成启用状态,按钮同样变成作废字体,
因为我在新增时默认的给了状态是启用状态, pwEmployee.ToVoidNo = true;//状态默认为启用
所以在我新增一条数据时,状态是启用的,
所以在自定义操作按钮时,需要给他一个判断
数据库中的数据 状态也是为启用
在到我需要作废或者启用时给一个询问框,再通过控制器把数据传到数据库中,那么我现在点击作废,
数据库中的数据也跟着改变了
代码来了:
前端代码
function switchEnable(EmployeeID, ToVoidNo) {
var strMsg = "确认";
strMsg += ToVoidNo ? "启用" : "作废";
strMsg += "员工?";
layer.confirm(strMsg, {
icon: 3,
btn: ['确定', '取消']
}, function (index) {
layer.close(index);//关闭询问提示框
layerIndex = layer.load();//打开加载层
$.post("SwitchEmployeeIdToVoidNo",
{
EmployeeID: EmployeeID,
ToVoidNo: ToVoidNo
}, function (jsonData) {
layer.close(layerIndex);//关闭加载层
if (jsonData.State == true) {
tabEmployee.reload();//刷新table
} else {
layer.msg(message.Text, { icon: 0, skin: "layui-layer-molv" });
}
}, 'json');
});
}
后台代码:
public ActionResult SwitchEmployeeIdToVoidNo(int EmployeeID, bool ToVoidNo)
{
ReturnJsonVo returnJson = new ReturnJsonVo();
try
{
PW_Employee Employee = (from tbEmployee in myModels.PW_Employee
where tbEmployee.EmployeeID == EmployeeID
select tbEmployee).Single();
//修改数据
Employee.ToVoidNo = ToVoidNo;
myModels.Entry(Employee).State = EntityState.Modified;
if (myModels.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "更改成功";
}
else
{
returnJson.Text = "更改失败";
}
}
catch (Exception ex)
{
Console.Write(ex);
returnJson.Text = "参数异常";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}