asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(四)—— session传递登录人信息显示+用户注销
前面的学习,已经做好了简单的登录和主页,涉及了三层软件架构,mvc,easyui的layout、tree、tab、window,sqlite,动软代码自动生成。
下面完善一下登录跳转主页后,在south-layout底部显示登录人,与登录用户名保持一致;再做一个注销按钮,利用到easyui的linkbutton/menubutton。
1. 在后台判断是否登录时,Account控制器中定义了一个session,将登录人的信息保存在session["user"]中,
在(Home)Index中添加代码,c#代码用<% %>包围
<% UserManager.Model.UserDB user = Session["user"] as UserManager.Model.UserDB; %>
将底部的登录人的代码改为:
<div data-options="region:'south',border:false" style="height:20px;background:#ccc;padding:1px">当前登录人:<%=user.Name %></div>
显示效果如下:

2. 在north-layout即顶部添加easyui的linkbutton,添加注销功能
打开chm帮助文档,或demo
为(Home)Index添加代码:
<div data-options="region:'north',border:false" style="height:61px;background:#0660bb;">
<img src="/Content/Images/logo.png" style="float:left"/>
<div style="padding:10px;float:right;text-align:center">
<a href="#" class="easyui-linkbutton" data-options="plain:true">Home</a>
<a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-edit'">注销</a>
<a href="#" class="easyui-menubutton" data-options="menu:'#mm2',iconCls:'icon-help'">Help</a>
<a href="#" class="easyui-menubutton" data-options="menu:'#mm3'">About</a>
</div>
</div>
显示结果如下:

接下来为注销添加跳转功能
3. 在注销前,提示用户是否确认注销,利用easyui的messager
且确认注销前要销毁已创建的session
为(Home)Index的注销linkbutton添加事件:
<a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-edit'" onclick="LogoOff()">注销</a>
LogoOff()函数写在之前创建的Login.js中(所以记得为Home-Index添加login.js的样式)
Login.js完整代码如下(注意!在(Account/Index)和(Home/Index)里面都用到了Login.js里面的样式,需要添加<script>样式
<script src="../../Scripts/Common/Login.js" type="text/javascript"></script>
否则也无法显示,在遇到错误时也要勇于调试反复查找问题)
function Login() {
//alert("where");
var name = $("#name").val();
var pwd = $("#pwd").val();
//前台逻辑判断
if (name == '' || pwd == '') {
$("#showInfo").html("用户名或密码为空");
}
else {
//后台逻辑判断
$.post("/Account/DoLogin", { name: name, pwd: pwd },
function (data) {
//alert("Data Loaded: " + data);
if (data == "-1") {
$("#showInfo").html("用户名或密码为空");
}
else if (data == "-2") {
$("#showInfo").html("用户名或密码错误");
}
else {
$("#showInfo").html("登录");
window.location.href = "/Home/Index";
}
});
}
}
function LogoOff() {
$.messager.confirm('注销', '你确认要注销嘛?', function (r) {
if (r) {
//alert('confirmed: ' + r);
$.post("/Account/DoLoginOff",
function (data) {
if (data == "-1") {
$.messager.alert('Warning', '注销失败');
}
else {
alert('注销成功');
window.location.href = "/Account/Index";
}
});
}
});
}
至此,登录-跳转主页-点击主页内容显示tab-注销-返回登录页面,这个流程已经全部完成!大家需要的话也可以把代码打包分享。
asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(四)—— session传递登录人信息显示+用户注销的更多相关文章
- 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 简单用户系统学习之旅(三)—— 简单登录页面+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 简单用户系统学习之旅(七)—— 添加用户到数据库-obj转json
这一节讲一下如何添加用户名和密码到已建的sqlite.db数据库中. 当在datagrid的toolbar中输入用户名.密码,然后点击添加按钮时,将该用户加入数据库,并显示出来.datagrid表格里 ...
- 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,也就是不能访问 ...
随机推荐
- Square Number & Cube Number
Square Number: Description In mathematics, a square number is an integer that is the square of an in ...
- 路由网关zuul(七)
一.定义 Zuul包含了请求的路由和过滤的2个主要的功能: 其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤器功能则负责对请求处理过程进行干预,是实现请求校验,服 ...
- DP重开
颓了差不多一周后,决定重开DP 这一周,怎么说,学了学trie树,学了学二叉堆,又学了学树状数组,差不多就这样,然后和cdc一番交流后发现,学这么多有用吗?noip的范围不就是提高篇向外扩展一下,现在 ...
- SNMP OID批量枚举工具
SNMP OID批量枚举工具 SNMP信息包含大量的系统.设备信息.这些信息均使用OID方式表示.由于OID编号规则复杂,不便于记忆.为了快速通过OID批量获取指定信息,Kali Linux新增了 ...
- [HNOI2018]道路(DP)
题目描述 W 国的交通呈一棵树的形状.W 国一共有n−1n - 1n−1 个城市和nnn 个乡村,其中城市从111 到n−1n - 1n−1 编号,乡村从111 到nnn 编号,且111 号城市是首都 ...
- [CF915F]Imbalance Value of a Tree
[CF915F]Imbalance Value of a Tree 题目大意: 一棵\(n(n\le10^6)\)个结点的树,每个结点有一个权值\(w_i\).定义\(I(i,j)\)为\(i\)到\ ...
- 7.2(java学习笔记)URL
一.URL URL类表示统一资源定位符,指向万维网上“资源”的指针. 资源可以是简单的文件或目录,也可以是对更复杂对象的引用,比如对数据库或搜索引擎的查询. URL即是定位也是资源,定位到网络中一个具 ...
- Exercise01_03
public class TuAn{ public static void main(String[] args){ System.out.println(" J A V V A" ...
- xshell与虚拟机无法连接
遇到xshell无法连接到虚拟机的情况,我大概总结为以下几种情况: 1.宿主机或虚拟机中的防火墙阻止了xshell的访问. 关闭宿主机和虚拟机中的防火墙,linux虚拟机中的防火墙关闭为 :servi ...
- 使用history命令查看作业的整体执行情况
1)通过使用history命令,我们可以深入到一个Job的任务级层面查看执行最快的任务,以及执行最慢的任务,以及其他的有用信息.命令如下: hadoop job -history /output “/ ...