到今天终于从0完整的完成了仓库管系统了,可以联动数据库进行增删改查,以及首页登录界面可以注册用户登录用户,检查用户名密码格式是否正确,是否匹配。期间遇到的主要问题是传值,比如前台用户点击按钮查询当前所有用户信息,响应按钮消息后台连接数据库查询当前所有用户信息,由于可能是多条记录,所以用List存储,可以定义一个类C_MyUser存储用户信息,然后返回List<C_MyUser>到前台
用户点击按钮后,传到后台,进行数据库操作
那么前台传参数到后台,后台返回结果到前台,这中间的值如何传递的呢?当时自己也费了一点时间,后来知道用ajax可以解决,以添加货物信息为例:
先查询数据库中可以添加到仓库的货物信息:
仓库中原有货物:
现在向仓库中进货,就进主机
到断点看下:
可以看到确实已经传过来了
现在去查下是否可以正常显示
接下来就看看ajax怎么写的:
//===================方法体===================
//1:查询仓库中所有货物
var i = 1;
$('#Btn_AllStorage').click(function () {
//点击按钮时,先关闭其他已经打开的页面
closeAllQurey();
$('#Query_AllStore td').remove();//每次点击都删除原有的td
$.ajax({
type: "post",
url: "/Operation/QueryAllStroage",
data: { "i": i },
dataTyle: "json",/*返回格式为json*/
type: "post",
error: function (ex) {
alert(ex.responseText);
},
success: function (res) {
numAll = res.length;
//前台收到的是数组
//alert(res[0].Name);
//alert(res[0].Year);
//alert(res[1].Name);
//这真要命,C#数组长度是Length,这里要小写length
//alert(res.length);
//alert(numAll);
for (var i = 0; i < res.length; i++) {
//alert(res[i].Name + "\t" +
// res[i].Num + "\t" + res[i].IsElectronic + "\t" +
// res[i].Year+"-"+res[i].Month+"-"+res[i].Day);
//$('#Query_UI').html(res[i].Name + "\t" +
// res[i].Num + "\t" + res[i].IsElectronic + "\t" +
// res[i].Year+"-"+res[i].Month+"-"+res[i].Day);
$('#Query_AllStore').append('<tr>' + '<td>' + res[i].Name + '</td>' +
'<td>' + res[i].Num + '</td>' +
'<td>' + res[i].IsElectronic + '</td>' +
'<td>' + res[i].Year + "-" + res[i].Month + "-" + res[i].Day + '</td>' + '</tr>');
}
}
});
//$('#Query_UI').html("Hello");
$('#Query_AllStore').css('visibility', 'visible');
});
主要注意写法,数组长度Length,不过这里是length,当时还费了老半天才知道,贼烦