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添加了分页属性,需要修改动软生成的代码函数,因为没有相对应的代码。

注销后可以使用数据库中新添加的用户密码进行登录:

主页的当前登录人也随之改变。

 

posted @ 2016-08-11 15:29  JennyJiang  阅读(709)  评论(0编辑  收藏  举报