摘要:
一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到Session中存储的用户基本信息,查看比较他有没有登录和能否访问当前页面。 Session的原理,也就是在服务器端生成一个SessionID对应了存储的用户数据,而SessionID存储在Cookie中,客户端以后每次请求都会带上这个Cookie,服务器端根据Cookie中的SessionID找到存储在服务器端的对应当前用户的数据。 FormsAuthentication是微软提供给我们开发人员使用,做身份认证使用的。通过该认证,我们可以把用户Name .. 阅读全文
摘要:
在数据库表创建完成的情况下,使用DB First 进行开发,封装底层会遇到一些小问题,在此记录一下,供以后参考。主要解决的问题有:1、EF上下文管理2、BaseRepository的封装3、EF中实体序列化的问题1、EF上下文管理 EF操作数据库的上下文,要达到在用户每一次的请求操作中都只有一个上下文,当用户通过Http请求结束后要释放用户使用的上下文资源,也就是EF生成中的ObjectContext不能每次使用时候通过new 创建一个新的实例,一次请求只需要创建一次,请求结束ObjectContext资源释放。 这里要用到的就是单例模式和简单工厂了,单例保证只有一个ObjectContext 阅读全文
摘要:
通过NPOI对Excel进行操作,这里主要是读取的操作。封装到ExcelHelper操作类中。 1 using System.Collections.Generic; 2 using NPOI.HSSF.UserModel; 3 using NPOI.SS.UserModel; 4 using NPOI.XSSF.UserModel; 5 using System.IO; 6 using System.Data; 7 using System; 8 9 namespace CommonHelper 10 { 11 public class ExcelHelper 1... 阅读全文
摘要:
创建ObjectContext对象实例,使得在一次请求中保持实例化一个对象。 方法一:通过HttpContext控制,线程内唯一 /// <summary> /// 通过HttpContext,控制一次请求中实例唯一 /// </summary> /// <returns></returns> public static Person SingleHttpContext() { Person p = HttpContext.Current.Items["person"]... 阅读全文
摘要:
Lambda表达式其实可以看做是作为委托的参数的匿名函数。怎么理解呢?首先,我们定义一个委托类型: //定义委托类型 public delegate int AddDel(int a,int b);然后,在类中实现一个Add的方法: static int Add(int i, int j) { return i + j; }最后,我们一步一步实例化这个委托,最后形成Lambda表达式格式: //传统委托变量实例的定义,指向一个方法(方法签名必须符合委托类型) AddDel addDel1 =... 阅读全文
摘要:
某某人曾经跟我说,你们做系统不就是增删查改吗。是啊,很多时候我们就是把用户的数据同后台数据库进行增删查改的沟通。但是,把CRUD(增删查改)做得好,可能也不是一件很简单的事,这里要展现的是我现在能写出来最好的Demo了,水平有限,小弟在校学生一枚,还请各位看客多多指教。Demo前台使用JQuery EasyUI 请求一般处理程序,一般处理程序调用BLL层方法,BLL==>DAL,一个简单三层的效果。项目结构如图:一、数据库表结构 这里只创建一个UserInfo表,表中字段有:UserID,CardID,UPwd,UName,UAge,IsDel,AddDate二、后台处理CRUD ... 阅读全文
摘要:
对教材列表进行展示的时候,可以有条件的筛选结果,前台用到的是EasyUI DataGrid,后台接受查询参数,返回结果。 这里只写成后台,数据访问层中实现的关键代码。View Code 1 /// <summary> 2 /// 默认下获取分页数据 3 /// </summary> 4 /// <param name="pageIndex">当前页码</param> 5 /// <param name="pageSize">每一页的行数</param> 6 /// <retur 阅读全文
摘要:
在数据库中有这样的一张表(常见的地区选择也会是类似的结构),主要包括 ID、Name、ParentID,以实现无限级层树的效果,怎样把这样的树展现出来呢?这里分别通过前后台两种方法实现。1、后台通过绑定到TreeView,实现无限级的树。 View Code 1 protected void Page_Load(object sender, EventArgs e) 2 { 3 CinemaGroupBLL bll = new CinemaGroupBLL(); 4 5 BindTreeView(bll.GetAllG... 阅读全文
摘要:
做表格隔行变色(高亮显示),可以通过设置css中的 tr:hover伪类属性达到效果,但是,会出一点小问题。td的背景色会覆盖tr的背景色, 在tr:hover下边加上一句:tr:hover td{background:none;} .dataTable tr:hover { background:#gray; } .dataTable tr:hover td {background:none;} 阅读全文
摘要:
1、获取iframe中页面中的window对象 contentWindow <iframe src="iframe1.htm" id="iframe1"></iframe> contentWindow属性。(在chrome中必须在服务器环境下) oIframe.contentWindow.document.getElementById('iframe1-div'); 2、操作document对象 contentDocument IE8+ oIframe.contentDocument.getElementById( 阅读全文