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 = ;
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[]);
return Content(res);
}
此时,在不分页的datagrid页面中已经可以正常显示了。

若是datagrid添加了分页属性,需要修改动软生成的代码函数,因为没有相对应的代码。
注销后可以使用数据库中新添加的用户密码进行登录:


主页的当前登录人也随之改变。
asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(七)—— 添加用户到数据库-obj转json的更多相关文章
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅—— 摘要
首次接触asp.net开发,希望把自己的学习之旅写下来,一方面做个知识归纳技术总结,另一方面开放到博客中,和大家一起交流学习! asp.net是目前流行的web开发技术之一,是微软旗下开发的基于.ne ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(二)—— easyui的简单实用
下面开始在UserManager.Web中利用easyUI构建web. 1. 先删除自带的controllers.models和views(里面的shared和web.config可以保存)下面的文件 ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(四)—— session传递登录人信息显示+用户注销
前面的学习,已经做好了简单的登录和主页,涉及了三层软件架构,mvc,easyui的layout.tree.tab.window,sqlite,动软代码自动生成. 下面完善一下登录跳转主页后,在sout ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(三)—— 简单登录页面+sqlite+动软代码生成器的使用
上一节讲到利用easyui的layout.tree.tab和datagrid创建用户管理的页面,注意利用到easyui的页面一定要按顺序添加jQuery和easyUI的.js和.css样式,灵活查看e ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(六)—— 简单过滤器的使用
有些同学喜欢在测试或运行项目时,直接跳转页面到Home/Index下,但本次项目直接输入Home/Index则会报错 因为home/index中有个user.name参数,如果启动项目后直接跳转到ho ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)—— 手把手教你创建第一个三层架构+mvc的asp.net项目
下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目 ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(五)—— 解决tabs选择已建tab显示但datagrid的toolbar消失的问题
项目需要反复运行,调整bug.发现在选择已有选项卡时,虽然不需要再新建tab,直接跳转到已有的tab上,但问题是显示的datagrid有事会出现toolbar消失的问题.网上也有不少同学出现类似问题, ...
- ASP.NET MVC+EasyUI+Entity FrameWork 整合开发
本文详细讲解怎么用ASP.NET MVC+EasyUI+Entity FrameWork 来开发一个项目 对于ASP.NET MVC的Jscript库,主要引用 <script type=.mi ...
- ASP.NET MVC +EasyUI 权限设计(二)环境搭建
请注明转载地址:http://www.cnblogs.com/arhat 今天突然发现博客园出问题了,老魏使用了PC,手机,平板都访问博客园了,都是不能正常的访问,原因是不能加载CSS,也就是不能访问 ...
随机推荐
- Codeforces 1023 D.Array Restoration-RMQ(ST)区间查询最值 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)
D. Array Restoration 这题想一下就会发现是只要两个相同的数之间没有比它小的就可以,就是保存一下数第一次出现和最后一次出现的位置,然后查询一下这个区间就可以,如果有0的话就进行填充. ...
- 使用Xshell上传下载文件
很多时候我们需要在Windows跟Linux之间,或者Linux跟Linux之间传文件,这里我们讲的是使用Xshell实现文件上传下载. 一.使用rz,sz实现Windows,linux上传下载 1. ...
- 洛谷——P2958 [USACO09OCT]木瓜的丛林Papaya Jungle
P2958 [USACO09OCT]木瓜的丛林Papaya Jungle 题目描述 Bessie has wandered off the farm into the adjoining farmer ...
- 转 IntelliJ IDEA 快捷键
https://www.cnblogs.com/clwydjgs/p/9390488.html 一.视图查看 Ctrl+F12 查看file,method结构图.类继承机构图 (不知道方法结构,Ctr ...
- Spring Struts里用到的设计模式
Bean工厂的Factory模式 AOP的Proxy模式
- 【拓扑排序】【堆】CH Round #57 - Story of the OI Class 查错
拓扑排序,要让字典序最小,所以把栈改成堆. #include<cstdio> #include<queue> #include<algorithm> using n ...
- Interaction triggers in WPF
Interaction Class - static class that owns the Triggers and Behaviors attached properties. Handles p ...
- 【sql】mysql数据库做两条数据替换的操作,不使用第三方变量
需求: 1.将数据库中两条数据中的唯一约束列 做值的替换 原始思想: 将两条数据查出来,在程序中设置第三方变量,进行两条数据的替换,然后将原始两条数据删除,将新的两条替换后的数据插入. 新思想: 1 ...
- 直接拿来用!最火的Android开源项目(二)
在<直接拿来用!最火的Android开源项目(一)>中,我们详细地介绍了GitHub上最受欢迎的TOP20 Android开源项目,引起了许多读者的热议,作为开发者,你最常用的是哪些开源项 ...
- supervisord的环境变量的设置
在python中引用jar包,使用java的功能,需要使用三方包:pyjnius from jnius import autoclass 需要java环境,因此需要设置JAVA_HOME环境变量. 但 ...