随笔分类 - [61]MVC
-
ASP.NET MVC的View是如何呈现出来的[实例篇]
摘要:在《[设计篇]》篇中我们通过对View引擎的总体介绍讲述了从ViewResult的创建到View呈现的原理,为了让读者对View引擎及其View呈现机制具有一个深刻的认识,我们自定义一个简单的用于呈现静态HTML的StaticFileViewEngine。在一个通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中,我们定义了如下一个针对于静态HTML内容呈现的自定义StaticFileView。StaticFileView实现了IView接口,在实现的Render方法中读取制定文件的内容写入作为参数的TextWriter。 [本文已经同步到《How ASP.NET 阅读全文
-
ASP.NET MVC的View是如何被呈现出来的?[设计篇]
摘要:在前面的四篇文章中,我们介绍了各种ActionResult以及相关的请求响应机制,但是与“View的呈现”相关的ActionResult是ViewResult。通过ViewResult的执行实现的对View的呈现比上面我们介绍的各种ActionResult要复杂得多,ASP.NET MVC内部设计了一个扩展的View引擎实现了最终的View呈现工作。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、View引擎中的View二、ViewEngine三、ViewResult的执行一、View引擎中的ViewASP.NET MVC为我们提供了两种View引擎,它们针对不同的 阅读全文
-
了解ASP.NET MVC几种ActionResult的本质:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult
摘要:在本系列的最后一篇,我们来讨论最后三个ActionResult:HttpStatusCodeResult、RedirectResult和RedirectToRouteResult 。第一个用于实现针对某个HTTP状态的响应,而后两个用于实现重定向。至于重定向,又分为“暂时重定向”和“永久重定向”,按照响应状态,又称“302重定向”和“301重定向”。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、HttpStatusCodeResult二、RedirectResult三、RedirectToRouteResult四、“302重定向”V.S.“301重定向”一、Htt 阅读全文
-
了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
摘要:在之前的两篇文章(《EmptyResult & ContentResult》和《FileResult》)我们剖析了EmptyResult、ContentResult和FileResult这三种ActionResult是如何将Action执行的结果响应给客户端的。本篇文章着重介绍在进行Ajax调用中经常使用的两个ActionResult,即JavaScriptResult和JsonResult。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、JavaScriptResult二、实例演示:通过JavaScriptResult返回字段在客户端自动执行的JavaSc 阅读全文
-
了解ASP.NET MVC几种ActionResult的本质:FileResult
摘要:FileResult是一个基于文件的ActionResult,利用FileResult我们可以很容易地将从某个物理文件的内容响应给客户端。ASP.NET MVC定义了三个具体的FileResult,分别是FileContentResult、FilePathResult和FileStreamResult。在这篇文章中我们将探讨三种具体的FileResult是如何将文件内容对请求进行响应的。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、FileResult二、FileContentResult三、FilePathResult四、FileStreamResult五、实例 阅读全文
-
ASP.NET MVC集成EntLib实现“自动化”异常处理[实现篇]
摘要:通过《实例篇》的实演示可以看出我们通过扩展实现的自动异常处理机制能够利用EntLib的EHAB根据执行的一场处理策略对某个Action方法执行过程中抛出的异常进行处理。对于处理后的结果,则按照如下的机制对请求进行响应。[源代码从这里下载][本文已经同步到《How ASP.NET MVC Works?》中]对于Ajax请求,直接创建一个用于封装被处理后异常的数据对象,并据此创建一个JsonResult将异常信息回复给客户端。对于非Ajax请求,如果当前Action方法上应用HandleErrorActionAttribute特性设置了匹配的Action方法用于处理该方法抛出的异常,那么执行该方法 阅读全文
-
MVC系列_权限管理总结(附MVC权限管理系统源码)
摘要:在上一节中我们总结了关于权限控制的方式,我们这一节讲解关于权限控制中角色权限的授予处理等等并做本系列的总结.首先,我们来谈谈权限控制中角色权限的控制,上一节只是针对权限拦截中比较粗的控制,如果我们需要对每一个动作做细致的权限认证,我们仍然进一步设计权限处理.比如:我们分配给一个角色只有浏览日志的权限,不允许他进行其他动作,针对这种细的粒度,我们就必须专门进行处理,就是关于角色动作验证的处理当然,我们的数据库设计就必须就需要进一步改进.这是我们的EF关系图:主要看看关于tbModule,tbPermission部分,都是采用树形设计,为什么这样设计呢?首先,我们必须要承认,Module也就是模块 阅读全文
-
ASP.NET MVC集成EntLib实现“自动化”异常处理[实例篇]
摘要:个人觉得异常处理对于程序员来说是最为熟悉的同时也是最难掌握的。说它熟悉,因为仅仅就是try/catch/finally而已。说它难以掌握,则是因为很多开发人员却说不清楚try/catch/finally应该置于何处?什么情况下需要对异常进行日志记录?什么情况下需要对异常进行封装?什么情况下需要对异常进行替换?对于捕获的异常,在什么情况下需要将其再次抛出?什么情况下则不需要?合理的异常处理应该是场景驱动的,在不同的场景下,采用的异常处理策略往往是不同的。异常处理的策略应该是可配置的,因为应用程序出现怎样的异常往往是不可预测的,现有异常策略的不足往往需要在真正出现某种异常的时候才会体现出来,所以我 阅读全文
-
ASP.NET MVC中的ActionFilter是如何执行的?
摘要:在ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以执行一些额外的操作。这是一种典型的AOP式的设计,如果我们需要在执行某个Action方法的前后执行一些操作,可以通过定义ActionFilter来实现。本篇文章主要讲述多一个应用到相同Action方法上的ActionFilter的执行机制。[本文已经同步到《How ASP.NET MVC Works?》中]目录一、ActionFilter二、ActionFilter的执行机制三、ActionFilter对ActionResult的设置 阅读全文
-
MVC系列_权限管理之权限控制
摘要:随笔-23 文章-0 评论-114一步一步Asp.Net MVC系列_权限管理之权限控制在权限管理中一个很重要的就是关于权限的拦截验证问题,特别是我们在webform中的验证,比纯winform要更复杂,winform可以通过验证把按钮隐藏或者禁用的方式,但是在web中我们不能仅仅通过隐藏按钮,不显示菜单/按钮之类的手段,因为客户端的代码都是透明的,如果我们不在服务端把好关,那么权限根本就无从谈起,我们必须彻底的进行验证,每一步动作都要进行验证,客户端的每一个ajax提交都要进行验证,如果任何一个ajax 动作都做过验证了,那么至少可以保证基本的安全性了.在纯webform中,我们通常怎么来进 阅读全文
-
MVC自学历程4--后台基本功能
摘要:又到周末更新时,这周还是忙忙碌碌的,本以为双休日可以好好休息,不料周五晚上突然受到朋友邀请第二天去看ChinaJoy,而且还要早点进去,看CJ不比世博会轻松,排队走路累死了。 由于CnBlog是技术博客,就不上乱七八糟的照片了,传张清纯的(为不影响页面,大家自己到博客园我相册去看。http://www.cnblogs.com/revolution/gallery/400221.html) 回到正题,上篇博客提到的问题已经解决(http://www.cnblogs.com/revolution/archive/2012/07/25/2601286.html),感谢回答的博友,我的解决方法看起来. 阅读全文
-
一步一步Asp.Net MVC系列_权限管理设计起始篇
摘要:前一段时间,写了一步一步asp.net的一系列博客,最近,也快要大四,忙着准备找个工作,这也算是最后一个假期了,这个系列可能不太长,尽量写完.还是多学习,少扯淡的风格,我们的学习还好继续,现在开始学习asp.net MVC系列,基础知识,大家看博客园相关的一系列就可以了,我们在这里学一下一个权限管理的设计.我采用的是Asp.net MVC+EF+N层的方式,顺便加入点spring.net注入的部分,当然我们最主要的还是关于权限设计的部分.而架构,咱也没学过太复杂的架构,我们还是从最常用的三层架构进行扩展.参考书籍:<<重构,改善既有代码的设计>> <<.ne 阅读全文
-
基于ASP.NET MVC3 Razor的模块化/插件式架构实现
摘要:我们把各个模块编译出来的assembly和各个模块的配置文件自动放到一个bin平级的plugin目录,然后web应用启动的时候自动扫描这个plugin目录并加载各个模块plugin,这个怎么做到的?大家也许知道,ASP.NET只允许读取Bin目录下的assbmely,不可以读取其他路径,包括Bin\abc等,即使在web.config这样配置probing也不行:(不信你可以试一下) 1: <configuration> Element 2: <runtime> Element 3: <assemblyBinding xmlns="urn:schemas 阅读全文
-
使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model
摘要:http://blog.zhaojie.me/使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model2011-09-05 16:21by 老赵, 4552 visits这也是之前在珠三角技术沙龙上的示例之一,解决的是在ASP.NET MVC使用dynamic类型Model时遇到的一个真实问题。C# 4编译器支持dynamic类型,因此在编写页面模板的时候自然就可以把它作为视图的Model类型。表现层的需求很容易改变,因此dynamic类型的Model可以减少我们反复修改强类型Model的麻烦,再配合匿名类型的使用,可谓是动静相宜,如鱼得水。不过,如果把一个匿名类型直 阅读全文
-
jQuery EasyUI MVC3
摘要:jQuery EasyUI MC3的应用实例 之前写过一个WebForm和Jquery EasyUI结合的实例,一个用户管理,主要是帮助大家怎样把WebForm及MVC和EasyUI结合起来做项目。这里只有简单实例及入门方法,下面就主要贴图及附源码供大家下载!这里依然套用疯狂秀才的界面。代码有借鉴博客园一哥们,并进行了修改。此部分代码可以参考之前WebForm列表页面:添加页面:主要一个了自带控件没有直接使用客户端控件,随后整理全部使用EasyUI控件,表达你提交此处使用了jQuery form提交下面附上通用js代码:View Code今天简单就到这里吧!QQ群:92257772 希望大家能 阅读全文
-
MVC自学历程3--项目开始
摘要:周末又来了,每次周末的时候总结总结上周,在做做自己感兴趣的事情也是很惬意的一件事。 这个星期我很痛苦。 原因1:一个星期都在写文档,公司的成功案例。使我感觉小公司程序员必须万能,星期一做出来的领导直接说了句看都不能看,后来陆续改了2天才好。 原因2:域名备案各种失败,扫描件要用黑笔签名,按手印之类的原因。 原因3:一个月前给一客户做的导入数据库的小工具出现BUG,改的我头大。 好在最后都解决了,真是累人忙碌的一周。 好了,扯够了回到项目上。前两期的环境准备和数据库设计告一段落,这期开始项目建设,建设前我打算系统介绍下本项目。 前台: 用户可以选择配件打造属于自己的DIY配... 阅读全文
-
ASP.NET MVC3 实例
摘要:http://www.jquery001.com/asp.net-mvc3.0-study-introduction.html首先,这里需要指出的是努力学习新技术对于我们开发人员来说是非常必要的。MVC(模型视图控制器)模式将应用程序分为三块:模型、视图和控制器。MVC设计模式设计模式如下图:可见:MVC将UI分为三种不同的对象,模型(Model)模型、控制器(Control)控制器和视图(View),了解三层架构的朋友可以对比三层架构中的模式来认识MVC。下图是对上图的一点小补充,使得我们能更容易理解MVC结构和其处理过程:Model层实现系统中的业务逻辑,View层用于生成输出,Contr 阅读全文
-
MVC3快速搭建Web应用----功能菜单
摘要:随笔- 9 文章- 4 评论- 72MVC3快速搭建Web应用(四)功能菜单这一篇我们来打造一个手风琴试的功能菜单,虽然不能像之前那些一样完全自动生成,但这个模块是一个通用模块,完全可以在之后的项目中复用。1.数据库准备打开RapidWebDevSample.pdm,添加表T_FunctionType如下:拷贝Preview中的SQL语句在查询器中执行。手工录入几条数据,注意其中父编号的对应关系。本项目中由于使用手风琴式功能菜单,程序代码没有考虑2级以上的问题,但是数据库是支持无限级别的。IconStyle是功能菜单上对应图标样式名称,例如css中是:.m-planapprove{ backg 阅读全文
-
URLs, Routing,and Areas
摘要:这里我们就分享一些MVC框架原理上的东西,就从URL,路由机制等开始吧!关于MVC简单的介绍大家可以去下载我分享的视频或者自己去搜一些资料了解下,这就关于MVC基本介绍就不在罗嗦了!直接开始我们的URL路由部分。简介路由体系 MVC路由主要有两个功能: 1. 检查传入的URL找出的对应的控制器(Controller)和方法(Action)请求。这就是MVC的路由体系处理我们客户端请求的目的。 2. URL生成输出。这些URL中出现的HTML渲染特定操作时将调用用户单击链接(此时,它已成为一个再次传入的URL)。我们开始创建一个项目("Routing"),用的是MVC应用程序 阅读全文
-
MVC3快速搭建Web应用实例篇
摘要:出差导致很长时间没有更新,看到很多朋友都要求提供实例下载,在这篇中我们将从新建项目开始,一步一步操作,本篇适合新手,大牛请绕道。文末提供所有相关的下载。首先说明一下环境与工具1.VS2010 SP1 (+ MVC 3)2.Kalman Studio3.PowerDesigner 16特别说明一下Kalman Studio,这是一个很方便的t4工具,博客园上的一哥们写的,挺长时间没有更新了,个人觉得跟博客园有些S13的回复有关系,挺为作者感到不平的,也替有些所谓的牛人蒙羞。1.准备数据库若对使用Powerdesigner建立数据库不感兴趣可以直接下载文章末尾的文件,附加到sqlserver上即可 阅读全文