~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:VS与MVC js
作者:陈锦通
撰写时间:2019年6月4日星期二
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
获取页面的数据方法有很多,我这里说的是里面最蠢的一个方法(这个方法是我思考很久的,反复尝试才成功的)。
首先是HTML代码:
<form id="C" role="form" method="post" onsubmit="return false;">
55
<div class="">
<input type="text" class="form-control" id="AppointmentNumber1" name="one" />
</div>
66
<div class="">
<input type="text" class="form-control" id="AppointmentNumber2" name="CheckInmark1" />
</div>
88
<div class="">
<input type="text" class="form-control" id="AppointmentNumber3" name="one1" />
</div>
77
<div class="">
<input type="text" class="form-control" id="AppointmentNumber4" name="CheckInmark2" />
</div>
<button type="button" id="abc" onclick="sss()"></button>
</form>
上面是HTML的代码意思是用一个from表单来提交,里面是四个input标签。
注意:id必须是唯一的,name尽量唯一。因为我说的这个方法是name属性如果不唯一的话在传到数据库时会获取少一个数据的。
上面的HTML代码的效果是下图
样式一点简陋,按钮有点小。
下面是js代码:
function sss() {
var A = $("#AppointmentNumber1").val();
var B = $("#AppointmentNumber2").val();
var C = $("#AppointmentNumber3").val();
var D = $("#AppointmentNumber4").val();
if (A != "" && A != null && B != "" && B != null && C != "" && C != null && D != "" && D != null) {
//第一个A是控制器接收的,第二个A是上面声明的
$.post("/one/bubu", { a: A, b: B, c: C, d: D }, function (ABC) {
if (ABC.State = true) {
alert(ABC.Text);
}
else {
alert(ABC.Text);
}
});
}
else {
alert("请把数据填写完整");
}
}
代码里面的var声明的是获取上面input标签里面的数据的jQ代码(要使用jq代码时一定要引用jq文件进来,不然会报错)通过val()来获取页面input标签里面输入的数据,然后赋值到声明的变量里面。然后再判断声明的变量里面的是否存在值不存在值,就提示“请把数据填写完整”来提醒你把数据填写完整。
如果有数据时就把数据提交到控制器里面。然后控制器返回ABC,然后再判断控制器传过来的状态值是true还是false然后再做出不同的提示。(我这样起名字是不规范的,这里只是为了好理解所以才这样起名字的)。
//新增
public ActionResult bubu(FormCollection form)
{
s1 mod = new s1();
s2 mod1 = new s2();
ReturnJson ABC = new ReturnJson();
var a = form["a"];
var b = form["b"];
var c = form["c"];
var d = form["d"];
//判断传过来的数据是否为空
if (!string.IsNullOrEmpty(a) && !string.IsNullOrEmpty(b) && !string.IsNullOrEmpty(c) && !string.IsNullOrEmpty(d))
{
mod.one = a;
mod.twe = b;
mod1.s2name = c;
mod1.s2uou = d;
ABC.State = true;
ABC.Text = "新增成功";
//核心代码
my.s1.Add(mod);
my.s2.Add(mod1);
my.SaveChanges();
}
else
{
ABC.State = false;
ABC.Text = "数据不完整";
}
return Json(ABC, JsonRequestBehavior.AllowGet);
}
(my是实例化数据库的名称 ,s1和s2是数据库里面有的表)
这上面的是控制器那里的代码,意思是通过FormCollection form来接收页面那里jQ代码传过来的值再赋值给新声明的变量里面。为什么要声明新的变量来接收?因为FormCollection接收的数据不能直接使用,所以再声明变量来接收传过来的值。然后再判断传过来的数据是否为空,然后再保存到数据库里面。我声明mod来代表数据库的表来接收数据并保存。最后就是这个保存到数据库的核心代码获取到的数据通过App这个方法来修改好你要保存的数据以后再通过Save Changes()这个方法来保存到数据库里面最后数据成功保存到数据库里面。效果如下数据库图:
这里是保存成功的数据。
(在篇文章里声明的变量是不规范的,只是为了好理解)