asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(七)—— 添加用户到数据库-obj转json
这一节讲一下如何添加用户名和密码到已建的sqlite.db数据库中。
当在datagrid的toolbar中输入用户名、密码,然后点击添加按钮时,将该用户加入数据库,并显示出来。datagrid表格里显示的内容不再是之前写在MessController里面存放的json内容,而是数据库内容。通过新建一个UserManager.Business.UserDB users,获取users.GetAllList();将users里的内容转为Json格式,再显示出来即可。
1. 在UserManager.Common中新建JsonHelper.cs文件
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json; namespace UserManager.Common { public static class JsonHelper { public static string ToJson(object obj) { return JsonConvert.SerializeObject(obj); } } }
记得下载并添加引用Newtonsoft.Json.dll
2. 在Scripts文件夹中新建UserEvent.js文件,里面写入添加点击事件AddUser():
function AddUser() {
var name = $("#name").val();
var pwd = $("#pwd").val();
//前台逻辑判断
if (name == '' || pwd == '') {
$.messager.alert('Warning', '用户名或密码为空');
}
//后台逻辑判断
else {
$.post("/Account/UserAdd", { name: name, pwd: pwd },
function (data) {
if (data == "0") {
$.messager.alert('Warning', '添加失败');
}
else {
$.messager.alert('Warning', '添加成功');
$('#dg').datagrid('reload');
}
});
}
}
3. 在Account控制器中添加UserAdd()函数:
public ActionResult UserAdd() { string name = Request.Form["name"]; string pwd = Request.Form["pwd"]; int res = 0; UserManager.Model.UserDB user = new Model.UserDB(); user.Name = name; user.Pwd = pwd; user.AddTime = DateTime.Now.ToString(); res = users.Add(user); return Content(res.ToString()); }
因为要将添加的内容显示在datagrid中,将UserEvent.aspx文件中class="easyui-datagrid"的url改为:url:'/Account/UserLoad'
并在Account控制器中添加UserLoad()函数:
public ActionResult UserLoad() { string res = string.Empty; System.Data.DataSet ds = users.GetAllList(); res = UserManager.Common.JsonHelper.ToJson(ds.Tables[0]); return Content(res); }
此时,在不分页的datagrid页面中已经可以正常显示了。
若是datagrid添加了分页属性,需要修改动软生成的代码函数,因为没有相对应的代码。
注销后可以使用数据库中新添加的用户密码进行登录:
主页的当前登录人也随之改变。