在项目下新建一个文件夹来专门放过滤器类,首先创建一个类LoginFilter,这个类继承ActionFilterAttribute.用来检查用户是否登录和用户权限.: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace weixinmenu.Filter { /// <summary> /// 这个过滤器类继承Ac…
1.搭建环境的第一步是导包,把下面这些包都导入工程中 /media/common/工作/Ubuntu软件/SpringMVC_jar包整理/aop/media/common/工作/Ubuntu软件/SpringMVC_jar包整理/apache-commons-logging/media/common/工作/Ubuntu软件/SpringMVC_jar包整理/apache-log4j/media/common/工作/Ubuntu软件/SpringMVC_jar包整理/bean-validator…
一.验证 angularJS中提供了许多的验证指令,可以轻松的实现验证,只需要在表单元素上添加相应的ng属性,常见的如下所示: <input Type="text" ng-model="" [name=""] [required=""] [ng-required=""] [ng-minlength=""] [ng-maxlength=""][ng-pattern…
书上的验证时在配置文件中直接声明用户名和密码,想改成从数据验证账号和密码,搞了一下午都没高出来,不断的调试,发现 var table = userInfo.Tables.FirstOrDefault(x => x.Name == user.Name); 这句代码有问题,一直时Null,各种百度无法解决,就把它转成userInfo.Tables.AsQueryable();了.完美解决了 控制器代码 public class AccountController : Controller { IAu…
漫步ASP.NET MVC的处理管线   ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解.这篇文章主要从整体角度总结一下MVC的处理模型. 整体处理模型 先放一张图(图最直观而且很有说服力): 下面开始解释各个部分: 路由模块 1.在ASP.NET MVC处理管线中的第一站就是路由模块.当请求到达路由模块后,MVC框架就会根据Route Table中配置的路由模板来匹配…
Asp.net应用程序管道处理用户请求时特别强调"时机",对Asp.net生命周期的了解多少直接影响我们写页面和控件的效率.因此在2007年和2008年我在这个话题上各写了一篇文章: <日志不说谎--Asp.net的生命周期> <日志不说谎--Asp.net的生命周期 [结题]> <两个粒度看Asp.net生命周期> 对于Asp.net MVC,我对它的生命周期还是兴趣很浓,于是提出两个问题: 一个HTTP请求从IIS移交到Asp.net运行时,As…
ASP.NET和ASP.NET MVC的HttpApplication请求处理管道有共同的部分和不同之处,本系列将体验ASP.NET MVC请求处理管道生命周期的19个关键环节. ①以IIS6.0为例,首先由w3wp.exe维护着一个工作进程 ②如果是第一次加载,由Aspnet_isapi.dll加载.NET运行时 ③一个工作进程里有一个应用程序池,其中可以承载多个应用程序域AppDomain ④HTTP.SYS接收请求,通过应用程序域工厂AppDomainFactory创建应用程序域AppDo…
要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式,后台开辟一个线程将excel导出到指定目录,然后提供下载.导出的excel涉及到了多个sheet(工作簿),表格合并,格式设置等,所以采用了NPOI组件. 效果如下: 选中了多行,会导出多个工作簿sheet,一个汇总的,其他的就是明细数据. 下面是要几个封装好的类,从网上找的,然后修改了一下.这几个类很多方法都封装好了,十分利于复用.…
public interface ICacheWriter {  void AddCache(string key,object value, DateTime expDate);  void AddCache(string key,object value);  object GetCache(string key);  T GetCache<T>(string key);  void SetCache(string key,object value,DateTime extDate);  …
一.把路由添加到路由表, 二.注册ControllerBuilder(老板)和默认工厂(DefaultControllerFactory) 2.1默认工厂获取可以创建的Controller. 三.由于配置文件中含有IHttpModule的配置,所以会在HttpApplication的指定事件发生时执行注册的委托. 3.1路由数据根据HttpContext来获取RouteData, 3.2根据RouteData和HttpContext封装成RequestContext 3.3使用HttpConte…