在我们使用ASP.NET MVC时,用得最多的一定是数据的增删查改吧。我今天就讲一下,到底是如何实现数据的新增的。
顺序大概是这样的,比如:有一个新增的按钮,我们要点击它然后弹出一个模态框,我们要在模态框的input标签上输入要新增的数据,然后点保存,最后关闭模态框。
我们先在页面那给一个点击事件给新增按钮那里,然后在点击事件里面把表单重置一下,再打开模态框,如下:
//==新增
//打开新增Mode1
function openInsert() {
//重置表单
$("#formInsertAcademe")[0].reset();
//打开模态框
$("#modalInsertAcademe").modal('show');
}
我们再写保存按钮的方法,先获取input标签的值,然后判断它不为空,再请求控制器那边的方法,把数据传到控制器那里,成功新增了就关闭模态框并刷新表格。
//保存新增
function savaInsert() {
//获取表单值
var AcademeName = $("#IAcademeName").val();
var AcademeCode = $("#IAcademeCode").val();
//判断值
if (strValIsNotNull(AcademeName) && strValIsNotNull(AcademeCode)) {
$.post("/SystemManagement/CollegeInfor/InsertAcademe",
{
AcademeName: AcademeName,
AcademeCode: AcademeCode
}, function (data) {
//console.log(data);
//判断是否成功
if (data.State) {
//成功
//关闭模态框
$("#modalInsertAcademe").modal('hide');
//刷新表格
tabAcademe.reload();
}
layer.alert(data.Text);
}, "json");
} else {
layer.alert('请填写完整', { icon: 0 });
}
}
我们再到控制器那写新增的方法。开始我们要用一个参数继承你要新增的那个表,再用一个容器装载实体,下面判断传过来的数据是否为空,如果数据不为空就用linq查询要新增的数据和表里面的数据是否有相同的,有就返回一个提示:和以前的数据重复,没有就新增并返回提示:新增成功。最后用json返回数据到页面。
新增的核心代码是这个:
myModel.SYS_Academe.Add(sysAcademe); //中间写的是那个表 括号里的是那个参数
myModel.SaveChanges(); // 最后,保存
你们可以看下代码是怎么写的
public ActionResult InsertAcademe(SYS_Academe sysAcademe)
{
ReturnJsonVo returnJson = new ReturnJsonVo();
returnJson.State = false;
//判断数据
if (!string.IsNullOrEmpty(sysAcademe.AcademeName)
&& !string.IsNullOrEmpty(sysAcademe.AcademeCode))
{
// 检查以前的是否有冲突
int oldCount = (from tbAcademe in myModel.SYS_Academe
where tbAcademe.AcademeName == sysAcademe.AcademeName.Trim() ||
tbAcademe.AcademeCode == sysAcademe.AcademeCode.Trim()
select tbAcademe
).Count();
if (oldCount == 0)
{
//Linq 新增
myModel.SYS_Academe.Add(sysAcademe);
int intR = myModel.SaveChanges();
if (intR > 0)
{
returnJson.State = true;
returnJson.Text = "新增成功";
}
else
{
returnJson.Text = "新增失败";
}
}
else
{
returnJson.Text = "和以前学院信息重复!";
}
}
else
{
returnJson.Text = "数据不完整";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
好了大概就是这样了,现在你们学会了没有?其实我也是个小萌新呀,懂的东西不是很多,如果有什么写错的,麻烦乃们帮忙指出来!!!