一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多 人觉得平时根本不需要知道这些,会用就行了.其实阅读源码是个很好的习惯,它不只停留在知道怎么用的阶段,而是让我们知道一系列的为什么,为什么这样设 计,为什么这样使用….很多朋友应该看过<asp.net x 框架揭秘>这本书,确实不错,特别是边看源码边看书,可以有不小的收获.Ok,我不是大神,我只是心血来潮想看一下源码! 二.几种常见的Filter…
通过源码了解ASP.NET MVC 几种Filter的执行过程   一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多人觉得平时根本不需要知道这些,会用就行了.其实阅读源码是个很好的习惯,它不只停留在知道怎么用的阶段,而是让我们知道一系列的为什么,为什么这样设计,为什么这样使用....很多朋友应该看过<asp.net x 框架揭秘>这本书,确实不错,特别是边看源码边看书,可以有不小的收获.Ok,我…
一.前言 之前也阅读过MVC的源码,并了解过各个模块的运行原理和执行过程,但都没有形成文章(所以也忘得特别快),总感觉分析源码是大神的工作,而且很多人觉得平时根本不需要知道这些,会用就行了.其实阅读源码是个很好的习惯,它不只停留在知道怎么用的阶段,而是让我们知道一系列的为什么,为什么这样设计,为什么这样使用....很多朋友应该看过<asp.net x 框架揭秘>这本书,确实不错,特别是边看源码边看书,可以有不小的收获.Ok,我不是大神,我只是心血来潮想看一下源码! 二.几种常见的Filter…
在之前的两篇文章(<EmptyResult & ContentResult>和<FileResult>)我们剖析了EmptyResult.ContentResult和FileResult这三种ActionResult是如何将Action执行的结果响应给客户端的.本篇文章着重介绍在进行Ajax调用中经常使用的两个ActionResult,即JavaScriptResult和JsonResult.[本文已经同步到<How ASP.NET MVC Works?>中]…
原文:返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test [索引页] [源码下载] 返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test 作者:webabcd 介绍 asp.net mvc 之 Action Filter, UpdateModel, ModelBinder, Ajax,…
ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter AuthorizeAttribute 最先执行,在其他类型的filter和action方法前执行 Action IActionFilter ActionFilterAttribute 在action方法执行前和执行后执行 Result IResultFilter ActionFilterAttribut…
接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public interface IActionFilter { void OnActionExecuting(ActionExecutingContext filterContext); void OnActionExecuted(ActionExecutedContext filterContext); }…
在开发程序的过程中,稍微不注意就会隐含有sql注入的危险.今天我就来说下,ASP.NET mvc 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁.不用每下地方对参数的值都进行检查,看是用户输入的内容是否有危险的sql.如果每个地方都要加有几个缺点: 1.工作量大 2.容易遗漏 3.不容易维护 下面我通过写一个过滤防止sql的特性类,对Action执行前对Action的参数进行处理,如果有其值有sql语句,就会这些非法字符替换为空字符串. 一.sql注入的例子: 上面的输入…
Asp.net MVC集成Google Calendar API(附Demo源码) Google Calendar是非常方便的日程管理应用,很多人都非常熟悉.Google的应用在国内不稳定,但是在国外使用确实非常频繁.对于Google API的集成是常见的需求.这里介绍如何在MVC程序中集成Google Calendar API. 文章相关源代码GoogleCalendarSample.zip, 由于Google的服务在国内不太稳定,所以,运行程序的过程中有时候会有超时或者无响应的异常,需要多刷…
一年前写了一篇短文ASP.NET MVC Action Filters,整理了Action Filter方面的资源,本篇文章详细的描述Action Filter.Action Filter作为一个可以应用到Controller Action(或者是整个controller)上的属性(Attribute),改变Action执行的行为,当应用于整个Controller上时,Controller上的所有Action都应用了同样设置的Action. 使用Action Filter 可以处理缓存. 验证和…
转自:http://www.cnblogs.com/xyang/archive/2011/11/24/2262003.html 在MVC中,controller中的Action和View中的.cshtml文件名称有一个对应的关系. 当不对应时,有以下几种情况发生: 一.找不到视图的错误 请求URL:http://localhost:13850/Customer/Create controller中有对应的Action: View中没有相应的视图 报错信息: 解决方式:在View中添加相应的Vie…
在本系列的最后一篇,我们来讨论最后三个ActionResult:HttpStatusCodeResult.RedirectResult和RedirectToRouteResult .第一个用于实现针对某个HTTP状态的响应,而后两个用于实现重定向.至于重定向,又分为“暂时重定向”和“永久重定向”,按照响应状态,又称“302重定向”和“301重定向”.[本文已经同步到<How ASP.NET MVC Works?>中] 目录 一.HttpStatusCodeResult 二.RedirectRe…
上一章节中对路由的注册和匹配过程进行了介绍,知道了MVC的Http请求最终是交由MvcHandler处理的,而其处理过程就是对Controller的创建.执行和释放. 本章将从以下几点进一步对上面提到的三个过程进行介绍: ● MvcHandler概述 ● ControllerBuilder&ControllerFactory ● DefaultControllerFactory ● Controller&ControllerBase ● Controller的执行 MvcHandler概述…
[toc] 前面介绍了 Action 执行过程中的几个基本的组件,这里介绍 Action 方法的参数绑定. 数据来源 为 Action 方法提供参数绑定的原始数据来源于当前的 Http 请求,可能包含在请求的 Http 报文头部或报文体中,亦可能包含在当前请求的 Url 中.在 Asp.net mvc 中使用一个 IValueProvider 类型的对象来为 Action 方法的输入参数绑定提供原始的数据源.该接口定义如下: public interface IValueProvider{ //…
[toc] 在 Aps.net mvc 应用中对请求的处理最终都是转换为对某个 Controller 中的某个 Action 方法的调用,因此,要对一个请求进行处理,第一步,需要根据请求解析出对应的 Controller 和 Action 的名称,这是 Asp.net mvc 中的路由 的职责所在,第二步,需要根据第一步解析出来的内容定位对请求进行处理的 Action 方法所属的 Controller 类型,定位的过程称为 Asp.net mvc 中 Controller 的激活,第三步,就是根…
Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter AuthorizeAttribute 最先执行,在其他类型的filter和action方法前执行 Action IActionFilter ActionFilterAttribute 在action方法执行前和执行后执行 Result IResultFilter ActionFilterAttribute 在result执行前和执行后执行 Exception I…
转载自:http://blog.csdn.net/wangyy130/article/details/44241957 一.filter简介 在了解自定义特性前,先引入一个概念filter,它是MVC中自带的一种功能,在我们项目中通常会遇到在Action执行前或结束时,去执行日志记录或错误处理等功能,通常可使用AOP截取来实现,但是在MVC中提供了filter过滤,大大方便了开发人员. MVC中的filter类型: 二.应用 声明一个自定义特性,继承自ActionFilterAttribute…
Authorization Filter Authorization是五种Filter中优先级最高的,通常用于验证Request合不合法,不合法后面就直接跳过. 权限控制器过滤器,可以通过Authonization可以实现复杂的权限角色认证.登录授权等操作实现事例如下: public class AuthonizationFilter :Attribute,IAuthorizationFilter { public void OnAuthorization(AuthorizationFilter…
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Taoke.filter { public class corsAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext fil…
最近一段时间在看JonGalloway等著作的<Profession ASP.NET MVC 2.0>.本书并没有按照常规的大部头书籍那样,按部就班的介绍MVC的概念等,而是在第一章直接引入一个“NerdDinner”的例子,这对于有一定编程基础的人来说,很具有引导作用,在编写代码的过程中了解MVC的工作原理,并能够结合已掌握的编程知识和技术进行对比,从而对自身的编程水平进行提高. 本书第一章主要对MVC进行了简单介绍,并以“NerdDinner”的小工程分步展开叙述.主要涉及到以下几方面的知…
一.Angel工作室简单通用权限系统简介 AngelRM(Asp.net MVC Web api)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术,采用bootstrap为前台开发展示UI,Web Api主要负责前端的逻辑交互,再结合jQuery Ajax+Web Api进行提交数据请求. 二.框架特色 为了数据方便读写,语言的成熟性,选择asp.net开发效率更高效率更快:系统架构采用:耦合性低.重用性高.部署快.可维护性高等优点的MVC框…
在这一节里,大家一同学习下mvc 2.0中的filter,简单的说,filter就是标记在action上的一些属性,来实现对action的控制. mvc2.0中主要包括以下filter 1. Authorize 2.HandleError 3.RequireHttps 4.OutputCache 1. 首先说下Authorize Authorize主要用来实现用户的授权与访问. [Authorize(Roles="Admins",Users="zx")] publi…
前几天面试遇到这个问题,发现不是很了解,学习了下,这里记录下来 经常需要将用户的操作记录到日志中,或者是验证用户是否登录了网站, 面对这样的需求,以前的操作是自定义一个统一的全局方法,然后做处理, 在每个需要的页面中添加想要的函数调用,这导致了多个页面中存在了大 量重复的代码,这样的方式不太符合软件工程的思想.为了解决这个问题, mvc为我们提供了过滤器来完成对应的功能,通过过滤器,我们只需要将 相应的业务处理代码写一次,再在相应的功能处通过特性的方式来使用写 好的过滤器. 一句话,我们可以用过…
1.后台传值: public class DataController : Controller { // GET: Data public ActionResult Index() { //1 ViewData传值 ViewData["name1"] = "张三"; //2 ViewBag.name ViewBag.name = "李四"; //3.TempData["name"] TempData["name&q…
[toc] 前面介绍了 Action 方法执行过程中的一些主要的组件以及方法执行过程中需要的参数的源数据的提供以及参数的绑定,那些都可以看作是 Action 方法执行前的一些必要的准备工作,接下来便将这些串起来看一下 Action 方法执行的整体的流程. Action 执行的整体流程 在接受到客户端的 Http 请求后,Asp.net 的路由系统会对请求信息进行解析得到路由数据,其中包括请求的 Controller 和 Action 的名称以及当前请求上下文的信息,然后根据这些信息创建对应的Co…
控制器: // Get: Data public ActionResult Index() { //ViewData 方式 ViewData["UserName"] = "管理员"; //ViewBag 方式 ViewBag.UserAge = ; //TempData 方式 TempData["UserTel"] = ""; //View 方式 Perpon p = new Perpon(); p.Name = "…
注释 <link rel="icon" href="#"> 这一句后试试…
本文主要的目的是 1. 说明Entity Framework Power Tools如何使用. 2. Entity Framework  快速门 实验环境: OS: Windows Server 2012, Windows 7 DE: VS2013 + MVC 6.0+Entity Framework+ SQL Server 2012 准备工作 基于现有数据库生成POCO数据类和数据库上下文需要借助Visual Studio一个扩展插件-- Entity Framework Power Tool…
在mvc的controller中,我们知道有很多的临时变量存放数据,比如说viewData,viewBag,还有一个比较特殊的tempData,关于前两个或许大家都明白, 基本上是一个东西,就是各自的编程写法不一样,最终都会放到viewContext中,然后送到WebPage中,如果你要证明的话,可以看下下面的代码. /// <summary>Gets the dynamic view data dictionary.</summary> /// <returns>Th…
BrnShop网上商城是以Asp.Net mvc3为基础开发的网上商城,源代码完全开源(企业版的源代码目前还没有完全整理完成,一旦整理完成也全部开源). 啥话也不说了,直接上源码:下载源码(由于公司服务器在香港,所以如果下载速度过慢可来此下载网盘) 项目结构图如下: 后台管理页面: 一个完整的网上商城应该至少包含以下几个方面: 1 基本数据:品牌,分类,属性(有些属性用作sku,有些属性还要提供商品筛选功能). 2 商品属性:商品图库,商品属性列表,商品关键词列表,商品库存(有的需要按照仓库拆分…