随笔分类 - [61]MVC
-
ASP.NET MVC原理
摘要:ASP.NET MVC原理ASP.NET MVC由以下两个核心组成部分构成:一个名为UrlRoutingModule的自定义HttpModule,用来解析Controller与Action名称;一个名为MvcHandler的自定义HttpHandler,用来实现对Controller的激活和Action的执行;!!阅读本文前请先弄明白asp.net执行的流程及httpmodule与httphandler的作用。下面是进行路由转换时相关类的简化结构图:整个ASP.NET MVC系统的路由信息全部存放在RoteTable这个类的静态变量Routes(为一个RouteDictionary类型)中,网 阅读全文
-
ASP.NET MVC学习笔记-----Filter2
摘要:ASP.NET MVC学习笔记-----Filter(2)接上篇ASP.NET MVC学习笔记-----Filter(1)Action FilterAction Filter可以基于任何目的使用,它需要实现IActionFilter接口:public interface IActionFilter{ void OnActionExecuting(ActionExecutingContext filterContext); void OnActionExecuted(ActionExecutedContext filterContext);}顾名思义,OnActionExecut... 阅读全文
-
MVC4.0系统开发新手历程1
摘要:MVC4.0系统开发新手历程(一)接手了一个简单的销售奖金计算的项目,虽然不算大但是业务逻辑比较复杂,还夹杂了很多的特殊情况,毕竟是大公司什么样的人都有,好了不多说切入正题,项目是公司的一个前辈负责的,在他做系统架构的时候让我们了解下MVC4.0更新的基本知识,对于MVC来说做项目之前我就简单的停留在知道他是Model-View-Controller的简写至于具体是什么,怎么做则完全没有了解。 项目果然是最锻炼人的,在项目的架构带来之后,我看了下大概分为以下这几个部分: (1) Model项目 存放数据库表的Model 以及用来展示的 View_Model这些以后都会有讲的,数据表对应的Mod 阅读全文
-
ASP.NET MVC学习笔记-----Filter
摘要:ASP.NET MVC学习笔记-----Filter(1)Filter类型接口MVC的默认实现DescriptionAuthorizationIAuthorizationFilterAuthorizeAttribute最先执行,在其他类型的filter和action方法前执行ActionIActionFilterActionFilterAttribute在action方法执行前和执行后执行ResultIResultFilterActionFilterAttribute在result执行前和执行后执行ExceptionIExceptionFilterHandleErrorAttribute在抛出 阅读全文
-
mvc使用JsonResult返回Json数据
摘要:mvc使用JsonResult返回Json数据controller 中定义以下方法:Html代码publicJsonResultUpdateSingle(intid,stringactionName,stringactionValue){varres=newJsonResult();//varvalue="actionValue";//db.ContextOptions.ProxyCreationEnabled=false;varlist=(fromaindb.Articlesselectnew{name=a.ArtTitle,yy=a.ArtPublishTime}).T 阅读全文
-
目标HttpController在ASP.NET Web API中是如何被激活的:目标HttpController的选择
摘要:目标HttpController在ASP.NET Web API中是如何被激活的:目标HttpController的选择ASP.NET Web API能够根据请求激活目标HttpController的前提是能够根据请求选择出正确的HttpController,HttpController的选择在ASP.NET Web API中通过HttpControllerSelector来实现。[本文已经同步到《How ASP.NET Web API Works?》]目录HttpControllerSelector & DefaultHttpControllerSelector获取目标HttpCon 阅读全文
-
.NET Mvc Razor
摘要:.NET Mvc Razor也可以这样玩! 忙碌的工作总是占据了生活的大部分的时间!所以我的博客到现在还是寥寥的几篇文章,技术是用来分享和学习的,对技术有不同的见解,大家都可以分享下,如果如下文章有问题之处请各位指出来,在这个闲下来的时间给大家说说mvc Razor除了在视图上解析外,一样可以这样用。在有些项目需求上或许需要根据模板生产静态页面,那么你一样可以用Razor语法去直接解析你的页面从而把解析的页面生成静态页,首先介绍下RazorEngine,在nuget上可以直接引用到项目上,这个东西通俗的来讲就是可以在任何地方解析razor语法,个人觉得要比NVelocity灵活好用很多。在co 阅读全文
-
一个使用MVC3+NHibernate “增删改查” 的项目
摘要:一个使用MVC3+NHibernate “增删改查” 的项目前言:谈到NHibernate大伙并不陌生,搞Java的更是清楚,Hibernate是一个目前应用的最广泛的开放源代码的对象关系映射框架,它对Java的JDBC(类似于ADO.Net)进行了非常轻量级的对象封装。NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具(ORM)。体系结构SessionFactory(NHibernate.IsessionFactory):它是Session的工厂,是ConnectionProv 阅读全文
-
ASP.NET MVC controller 之间传JS值
摘要:ASP.NET MVC controller 之间传JS值在ASP.NET MVC中有东西叫TempData,它的类型是TempDataDictionary,它与ViewData以及ViewBag的不同之处在于它的内部是使用session来保存信息的,可以理解为暂存的意思。虽然是通过session在保存信息,但它的生命周期是“一次网页的请求”。利用这一点,我们可以用它在做MVC 中action之间的传值。以下是我传值的一点经验,高手请忽略,呵呵。假如我们有一张学生管理的页面,其中有学生添加功能,以及学生展示列表。我们是通过一个Action来展示所有信息的,就像是web form一样那么在con 阅读全文
-
前端基于easyui的mvc扩展(续)
摘要:前端基于easyui的mvc扩展(续)回顾及遗留问题 上一篇讲解了基于easyui的mvc扩展的基本实现,已经降低了在mvc内使用easyui的难度,但是仍然还有一些问题:当我们要给生成的控件设置一些其他的属性(如:id)或者想要设置easyui控件的一些其他的可配置项对于form表单提交时,也要让form表单基于easyui的验证机制来进行验证 这里要先提一下,上一篇的TagBuilder并不是微软自带的(位于System.Web.Mvc下),而是自己实现的,理由嘛,既然我们编码了mvc下对于easyui的扩展,那么同样也可以去扩展普通的web form(后面的文章会再进行扩展),Tag.. 阅读全文
-
SubSonic3.0插件分页查询速度测试
摘要:SubSonic3.0插件分页查询速度测试使用SubSonic3.0一段时间了,一直都想找机会测试一下各种查询分页速度,对比一下插件的查询效率到底怎么样,所以昨天写好了测试程序,准备好1K、1W、10W、50W和100W记录的数据表,早上详细做了测试。 本机硬件配置: 英特尔 第三代酷睿 i5-3470(3.2GHz 四核) 华硕 P8B75-V 8G金士顿DDR3 1600MHz内存 希捷 ST1000DM003-1CH162(1T / 7200转/分) 本机软件配置: Win7 + SQL2005 + VS2010 测试方法:使用5种常用分页方式进行查询,查看第一页、中间页... 阅读全文
-
ASP.NET MVC4简单使用ELMAH记录系统日志
摘要:ASP.NET MVC4简单使用ELMAH记录系统日志前言 在项目开发、测试以及已经上线的项目中都会存在bug,而如果我们在项目的各个阶段都能及时的监控系统出现的任何问题,那么对于我们开发人员来说完善系统,减少bug,甚至安全防护等都是一件十分有利的事情。网上有很多的系统日志记录框架,ELMAH在我们使用mvc开发的时候提供了简单便捷的服务,这个框架的好处是我们不仅可以通过本地可以记录系统错误,而且可以配置远程发送错误,如利用邮箱传送错误等,这样我们便可以随时监控我们的项目及时处理问题,接下来简单的配置一下ELMAH来记录mvc项目的错误。步骤1、建立一个基本的mvc4程序新建——>项目 阅读全文
-
AOP编程和ASP.NET MVC
摘要:AOP编程和ASP.NET MVCAOP(Aspect oriented programming)面向切面编程。说成切面不容易理解,代码哪里有切面?又不是三维物体。概念不管,我们从其思想来理解这个名词吧。 AOP的主要思想是把相同、相似的并且零散的逻辑抽离出来,统一处理;这样不仅维护起来方便,也让代码更加关注自己本身,清晰明了。比如我们常见的权限检查、日志记录、异常处理等都是散乱在系统各个地方,比如发表一篇文章的代码:publicvoidPost(Articlearticle){if(currentUserisnull)thrownewAuthException("您还没有登录&qu 阅读全文
-
完成注销 登录限制过滤 添加用户
摘要:完成注销 登录限制过滤 添加用户前面视频 文章地址Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门这节课 我们要实现 一个登录的限制如果用户没有登录 就访问我们的管理页面 那么 直接跳转到登录 当然 可以可以给一个中间的页面 对用户进行友好的提示我们首先找到 管理页的action public ActionResult Index() { return View(); }我们编写一个过滤器 要继承和实现一个接... 阅读全文
-
ASP.NET Web API下的HttpController激活:程序集的解析
摘要:ASP.NET Web API下的HttpController激活:程序集的解析HttpController的激活是由处于消息处理管道尾端的HttpRoutingDispatcher来完成的,具体来说是HttpRoutingDispatcher利用HttpControllerDispatcher实现了针对目标HttpController的激活和执行。激活目标HttpController的前提是能够正确解析出HttpController的真实类型,而类型解析需要针对加载的程序集,所以我们需要先来了解一个用于解析程序集的对象AssembliesResolver。在ASP.NET Web API的H 阅读全文
-
mvc模式
摘要:mvc模式一、MVC模式概述模型-视图-控制器(MVC模式)是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着非常重要的角色。从设计模式的角度来看,MVC模式是一种复合模式,它将多个设计模式在一种解决方案中结合起来,用来解决许多设计问题。MVC模式把用户界面交互分拆到不同的三种角色中,使应用程序被分成三个核心部件:Model(模型)、View(视图)、Control(控制器)。它们各自处理自己的任务:(1)模型:模型持有所有的数据、状态和程序逻辑。模型独立于视图和控制器。(2)视图:用来呈现模型。视图通常直接从模型中取得它需要显示的状态与数据。对于相同的信息可以有多个不同的显示形式 阅读全文
-
ASP.NET Web API的核心对象:HttpController
摘要:ASP.NET Web API的核心对象:HttpController对于ASP.NET Web API来说,所谓的Web API定义在继承自ApiController的类中,可能ApiController是大部分读者最为熟悉的类型了。但是我们将ASP.NET Web API下的Controller称为HttpController,它是对所有实现了接口IHttpController的所以Controller类型的统称,而ApiController仅仅视为IHttpController接口的一个实现而已,所以我们会更多地强调HttpController的概念。[本文已经同步到《How ASP.N 阅读全文
-
ASP.NET MVC:会导致锁定的会话
摘要:ASP.NET MVC:会导致锁定的会话背景一直没有意识到会话的访问会导致会话锁定,现在想想这样设计是非常合理的,不过某些情况下这样会导致同一个会话的并发访问非常低(只能串行化),好在MS提供了机制让我们控制这种锁。测试A页面:缓存写入页面1 public partial class Session_Lock_Test : System.Web.UI.Page2 {3 protected void Page_Load(object sender, EventArgs e)4 {5 this.Session["Data"] ... 阅读全文
-
“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)
摘要:“MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)一、这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静态页的生成。无刷新图片的上传用到的组件:jquery.uploadify.js、uploadify.swf、uploadify.css。文本编辑器:ckeditor、ckfinder。前台图片无缝滚动:jquery.switchable[all].min.js,前一篇有介绍。静态页的生成:其实有多种方式,最常见的:(1)WebClient中有个方法,下载Html到本地。(2)StreamWriter 阅读全文
-
asp.net mvc Route 使用自定义条件(constraints)禁止某ip登陆
摘要:asp.net mvc Route 使用自定义条件(constraints)禁止某ip登陆前言本文的目的是利用Mvc route创建一个自定义约束来控制路由跳转实现禁止ip登陆,当然例子可能不合理,但是文章要表明的意思是当普通的路由约束不能解决我们实际的需求时,我们可以通过自定义路由限制条件实现,比如当匹配路由有数据库交互,根据url跳转等实际需求时,使用自定义条件此问题便可迎刃而解。实现举例普通的路由约束:routes.MapRoute( "Product", "Product/{productId}", new {controller="P 阅读全文