摘要: 一般情况下,在我们做访问权限管理的时候,会把用户的正确登录后的基本信息保存在Session中,以后用户每次请求页面或接口数据的时候,拿到Session中存储的用户基本信息,查看比较他有没有登录和能否访问当前页面。 Session的原理,也就是在服务器端生成一个SessionID对应了存储的用户数据,而SessionID存储在Cookie中,客户端以后每次请求都会带上这个Cookie,服务器端根据Cookie中的SessionID找到存储在服务器端的对应当前用户的数据。 FormsAuthentication是微软提供给我们开发人员使用,做身份认证使用的。通过该认证,我们可以把用户Name .. 阅读全文
posted @ 2013-11-15 11:32 hello*boy 阅读(42630) 评论(0) 推荐(11) 编辑
摘要: 在数据库表创建完成的情况下,使用DB First 进行开发,封装底层会遇到一些小问题,在此记录一下,供以后参考。主要解决的问题有:1、EF上下文管理2、BaseRepository的封装3、EF中实体序列化的问题1、EF上下文管理 EF操作数据库的上下文,要达到在用户每一次的请求操作中都只有一个上下文,当用户通过Http请求结束后要释放用户使用的上下文资源,也就是EF生成中的ObjectContext不能每次使用时候通过new 创建一个新的实例,一次请求只需要创建一次,请求结束ObjectContext资源释放。 这里要用到的就是单例模式和简单工厂了,单例保证只有一个ObjectContext 阅读全文
posted @ 2013-10-23 12:34 hello*boy 阅读(2265) 评论(2) 推荐(2) 编辑
摘要: 通过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... 阅读全文
posted @ 2013-08-06 15:12 hello*boy 阅读(10174) 评论(3) 推荐(5) 编辑
摘要: 创建ObjectContext对象实例,使得在一次请求中保持实例化一个对象。 方法一:通过HttpContext控制,线程内唯一 /// <summary> /// 通过HttpContext,控制一次请求中实例唯一 /// </summary> /// <returns></returns> public static Person SingleHttpContext() { Person p = HttpContext.Current.Items["person"]... 阅读全文
posted @ 2013-05-26 21:25 hello*boy 阅读(645) 评论(0) 推荐(0) 编辑
摘要: Lambda表达式其实可以看做是作为委托的参数的匿名函数。怎么理解呢?首先,我们定义一个委托类型: //定义委托类型 public delegate int AddDel(int a,int b);然后,在类中实现一个Add的方法: static int Add(int i, int j) { return i + j; }最后,我们一步一步实例化这个委托,最后形成Lambda表达式格式: //传统委托变量实例的定义,指向一个方法(方法签名必须符合委托类型) AddDel addDel1 =... 阅读全文
posted @ 2013-04-27 19:52 hello*boy 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 某某人曾经跟我说,你们做系统不就是增删查改吗。是啊,很多时候我们就是把用户的数据同后台数据库进行增删查改的沟通。但是,把CRUD(增删查改)做得好,可能也不是一件很简单的事,这里要展现的是我现在能写出来最好的Demo了,水平有限,小弟在校学生一枚,还请各位看客多多指教。Demo前台使用JQuery EasyUI 请求一般处理程序,一般处理程序调用BLL层方法,BLL==>DAL,一个简单三层的效果。项目结构如图:一、数据库表结构 这里只创建一个UserInfo表,表中字段有:UserID,CardID,UPwd,UName,UAge,IsDel,AddDate二、后台处理CRUD ... 阅读全文
posted @ 2013-04-22 10:41 hello*boy 阅读(5124) 评论(31) 推荐(3) 编辑
摘要: 对教材列表进行展示的时候,可以有条件的筛选结果,前台用到的是EasyUI DataGrid,后台接受查询参数,返回结果。 这里只写成后台,数据访问层中实现的关键代码。View Code 1 /// <summary> 2 /// 默认下获取分页数据 3 /// </summary> 4 /// <param name="pageIndex">当前页码</param> 5 /// <param name="pageSize">每一页的行数</param> 6 /// <retur 阅读全文
posted @ 2013-03-13 15:58 hello*boy 阅读(2900) 评论(1) 推荐(1) 编辑
摘要: 在数据库中有这样的一张表(常见的地区选择也会是类似的结构),主要包括 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... 阅读全文
posted @ 2012-12-06 19:22 hello*boy 阅读(1930) 评论(0) 推荐(0) 编辑
摘要: 做表格隔行变色(高亮显示),可以通过设置css中的 tr:hover伪类属性达到效果,但是,会出一点小问题。td的背景色会覆盖tr的背景色, 在tr:hover下边加上一句:tr:hover td{background:none;} .dataTable tr:hover { background:#gray; } .dataTable tr:hover td {background:none;} 阅读全文
posted @ 2012-11-23 09:16 hello*boy 阅读(11612) 评论(0) 推荐(2) 编辑
摘要: 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( 阅读全文
posted @ 2012-11-22 14:47 hello*boy 阅读(771) 评论(0) 推荐(0) 编辑