在我们使用ASP.NET MVC时,用得最多的一定是数据的增删查改吧。我今天就讲一下,到底是如何实现数据的新增的。
顺序大概是这样的,比如:有一个新增的按钮,我们要点击它然后弹出一个模态框,我们要在模态框的input标签上输入要新增的数据,然后点保存,最后关闭模态框。
我们先在页面那给一个点击事件给新增按钮那里,然后在点击事件里面把表单重置一下,再打开模态框,如下:
//==新增//打开新增Mode1function 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_Academewhere 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);}
好了大概就是这样了,现在你们学会了没有?其实我也是个小萌新呀,懂的东西不是很多,如果有什么写错的,麻烦乃们帮忙指出来!!!