在某些页面(比如在一些系统中的某些信息页面)上能直接添加数据同步到后台是项目中必须要做的!新增呢,相对于删除与修改数据的方法来说是比它们简单的(起码要写的代码就要少些许,相对来说哈)。
至于方法呢就是我接下来要说的了(就拿一个例子来说吧,还有这是控制器上的哈)
public ActionResult InsertAcademe(SYS_Academe sysAcademe)
{
ReturnJson returnJson = new ReturnJson();
try
{
//第一:判断页面传输数据是否为空
if (!string.IsNullOrEmpty(sysAcademe.AcademeCode) && !string.IsNullOrEmpty(sysAcademe.AcademeName))
{
//第二:数据是否存在
int oldCount = (from tbAcademe in myModel.SYS_Academe
where tbAcademe.AcademeName== sysAcademe.AcademeName
|| tbAcademe.AcademeCode== sysAcademe.AcademeCode
select tbAcademe).Count();
if (oldCount == 0)
{
//第三:执行新增操作
myModel.SYS_Academe.Add(sysAcademe);
if (myModel.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "保存成功!";
}
else
{
returnJson.State = false;
returnJson.Text = "保存失败";
}
}
else {
returnJson.State = false;
returnJson.Text = "和以前的重复";
}
}
else
{
returnJson.State = false;
returnJson.Text = "传输过来的数据为空";
}
}
catch (Exception e)
{
Console.WriteLine(e);
returnJson.State = false;
returnJson.Text = "数据异常";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
上面就是在控制器中定义的一个新增方法,先是实例化(ReturnJson returnJson = new ReturnJson(););然后下面就是判断数据是否为空,是就执行接下来的代码,不是就直接跳到后面执行否的代码(也就是后面else与catch之类的),在这个判断里写一个查询来检查数据是否已经存在了;之后还是一个if判断语句判断(oldCount == 0,oldCount就是上面写的查询的方法名称),不满足就执行相对应得else语句,而这个判断里就是写新增语句了(myModel.SYS_Academe.Add(sysAcademe); Add就是新增方法);最后也是一个判断if语句,就是判断数据库里的有没有成功增加数据(myModel.SaveChanges() > 0),不满足的话同样执行相对应的else; (一般if语句都会写这对应的else语句)
总的来说先是一个实例化,然后在try(尝试语句)里再写三个判断,最后就是在判断中写查询与新增方法等!
接下来的就是通过js就可以实现新增了
例子如下
function savaInsert()
{
var AcademeName = $("#IAcademeName").val();
var AcademeCode = $("#IAcademeCode").val();
//判断
if (AcademeName != '' && AcademeName != undefined
&& AcademeCode != '' && AcademeCode != undefined) {
$.post("/SystemManagements/CollegeInfor/InsertAcademe", { AcademeName: AcademeName, AcademeCode: AcademeCode }, function (returnJson)
{
if (returnJson.State == true) {
//刷新table
tabAcademe = layuiTable.reload('tabAcademe');
}
layer.alert(returnJson.Text);
}, "json")
}
else {
//提示
layer.alert('请填写完整', { title: '提示', icon: 0 });
}
}
写法:一个自定义函数。函数里先是用ID获取到数据(上面代码是获取到input的输入数据,因为是表单);然后就是判断你之前有没有获取到的数据,有就通过然后执行下一段代码,没有就直接跳到后面执行else的代码;再就是用post方法提交了,($.post("/SystemManagements/CollegeInfor/InsertAcademe", { AcademeName: AcademeName, AcademeCode: AcademeCode }, function (returnJson) ),获取到在控制器上自定义的方法,传递一些参数和returnJSon回调函数;最后就是判断在控制器上返回的状态了,为true就刷新table弹出一个提示框提示新增成功了(控制器上写了状态为true returnJson.Text = “保存成功!”;),不为true就直接跳到后面执行else的代码。
总体效果图如下
(提示框之类的都是用的layui插件代码,写法是jquery的写法)