效果演示:当点击添加按钮时,弹出模态框填写模态框信息保存到数据库,并刷新表格后新增到表格上。(完成这个效果在涉及数据库完善的情况下进行)
思路:创建数据表格,查询出数据库中数据表格的所有数据,在表格外设置一个按钮,为按钮设置点击事件,当点击按钮时弹出模态框,填写完整模态框信息后点击保存,数据保存到数据库,重新刷新表格查询数据。
为按钮添加点击事件,当点击按钮时弹出模态框(通过οnclick="CommModal()"为按钮添加点击事件)
//打开新增模态框
function CommModal() {
//获取页面数据
var formDataArr = $("#fromModal").serializeArray()
console.log(formDataArr)
$("#fromModal")[0].reset();
//设置模态框标题
$("#modalTitle").text(“新增商品信息”);
$("#CommModal").modal(‘show’); }
打开模态框后通过from表单获取模态框中填写的数据
//获取页面数据
var formDataArr = $("#fromModal").serializeArray()//系列化
var upFormData = new FormData();
var formData = {};
for (var key in formDataArr) {
formData[formDataArr[key].name] = formDataArr[key].value;
upFormData.append(formDataArr[key].name, formDataArr[key].value);
}//把数据遍历成键值对的形式,方便控制器方法 接收数据。
在保存数据之前先做数据判断,判断数据是否填写完整或必要信息行是否有填写数据,如果没有填写完整则无法进行保存。
把获取到的所需数据通过ajax法传到控制器。
在控制器写新增的代码。
public ActionResult InsertComm(SYS_Merchandise Merchandise)
{
ReturnJson Msg = new ReturnJson();
try
{
//去重复
int intCount = myModel.SYS_Merchandise.Where(o => o.MerchaNum == Merchandise.MerchaNum).Count();
if (intCount == 0)
{
myModel.SYS_Merchandise.Add(Merchandise);
myModel.SaveChanges();
Msg.State = true;
Msg.Text = “新增成功!”;
}
else
{
Msg.Text = “商品编码重复”;
}
}
catch (Exception e)
{
Debug.WriteLine(e);
Msg.Text = "数据异常,请检查!";
}
return Json(Msg, JsonRequestBehavior.AllowGet);
}