随笔分类 - [61]MVC
-
MVC 5 - 查询Details和Delete方法
摘要:MVC 5 - 查询Details和Delete方法在这部分教程中,接下来我们将讨论自动生成的Details和Delete方法。查询Details和Delete方法打开Movie控制器并查看Details方法。public ActionResult Details(int? id){if (id == null){return new HttpStatusCodeResult(HttpStatusCode.BadRequest);}Movie movie = db.Movies.Find(id);if (movie == null){return HttpNotFound();}return 阅读全文
-
MVC Filter 实现方式和作用范围控制
摘要:Asp.Net MVC Filter 实现方式和作用范围控制MVC中的Filte 简单又优雅的实现了AOP ,在日志,权限,缓存和异常处理等方面用的比较多。但本文不是讨论Filter这些功能点,而是总结Filter实现的方式。说实现也不太准确,也就是它的呈现方式。自带有四种Filter(借用了Liam wang的图) 如果要实现自己的Filter,根本还是在于是实现第二项的接口。 实现方式:一、特性式 从上图可以看到,Filter的默认实现方式就是带有Attribute后缀的,有了Attribute,我们就可以将我们的Filter像标签一样的贴在方法或者控制器的上方。这样直观又简... 阅读全文
-
漫步ASP.NET MVC的处理管线
摘要:漫步ASP.NET MVC的处理管线ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质。你可以很好的使用以及个性化和扩展这个框架,但这需要你对它有足够的了解。这篇文章主要从整体角度总结一下MVC的处理模型。整体处理模型先放一张图(图最直观而且很有说服力):下面开始解释各个部分:路由模块1.在ASP.NET MVC处理管线中的第一站就是路由模块。当请求到达路由模块后,MVC框架就会根据Route Table中配置的路由模板来匹配当前请求以获得对应的controller和action信息。具体的匹配过程就是有UrlRoutingModule(S 阅读全文
-
ASP.NET MVC下的四种验证编程方式
摘要:ASP.NET MVC下的四种验证编程方式ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定。总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证。一、手工验证绑定的参数在定义具体Action方法的时候,对已经成功绑定的参数实施手工验证无疑是一种最为直接的编程方式,接下来我们通过一个简单的实例来演示如何将参数验证逻辑实现在对应的Action方法中,并在没有通过验证的情况下将错误信息响应给客户端。我们在一个ASP.NET MVC应用中定 阅读全文
-
迷你 MVC
摘要:深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的2014-04-05 13:52 by 自由的生活,645阅读,2评论,收藏,编辑前言跟我一起顺藤摸瓜剖析Artech老师的MiniMVC是如何运行的,了解它,我们就大体了解 ASP.NET MVC 是如何运行的了。既然是“顺藤摸瓜”,那我们就按照 ASP.NET 的执行顺序来反推代码。准备好了吗?Let's go!解决方案大体结构PS:原本很多代码没有注释,我按照自己的理解,增加了一些注释,希望能帮助您,共同提高,谢谢!1. Global.asax 探究ASP.NET 中的 Ap 阅读全文
-
ASP.NET MVC显示WebForm网页或UserControl控件
摘要:ASP.NET MVC显示WebForm网页或UserControl控件学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘。能否在asp.net mvc去显示aspx或是user control呢?这个灵感(算不上灵感,只能算是想法)是来自前些天有写过一篇《多个视图结果显示于一个共用预览视图内》http://www.cnblogs.com/insus/p/3633298.html其中有一个Render方法。以致想起以前开发asp.net时,也经常Render用户控件。即是说把网页经过Render之后,转换为是一串字符串。那我们也一定可以把这串字符串Return给asp.net 阅读全文
-
DefaultModelBinder
摘要:Asp.net MVC的Model Binder工作流程以及扩展方法(3) - DefaultModelBinderDefault Binder是MVC中的清道夫,把守着Model Binder中的最后一道防线。如果我们没有使用Custom Model Binder等特殊处理,那么Model的绑定都是有Default Binder处理的。这篇文章,一起看看Default Binder和如何扩展Default Binder.一,Default Binder的流程下面的图是Default Model Binder中的关键方法BindModel的代码逻辑图。ValueProvider是包装好的类似于 阅读全文
-
转载Mvc的多层架构
摘要:Mvc的多层架构分享一个Mvc的多层架构,欢迎大家拍砖斧正多层架构是什么?多层架构是开发人员在开发过程当中面对复杂且易变的需求采取的一种以隔离控制为主的应对策略,关于多层架构的标准,我认为有一句话是比较有代表性的“每一层都可以单独部署”,最传统,最简单的就是从三层开始的:将整个项目自下而上的分为:数据持久(数据访问)层,逻辑(业务)层,UI(展现)层。数据访问层:负责将数据持久化响应的数据存储设备上,如DataBase,Txt,Excel等。业务逻辑层:负责处理为满足软件需求而订制的一系列的逻辑与业务,如用户在前端下订单之后,整个业务流可能涉及到,获取用户信息,获取商品信息,获取购物车信息,验 阅读全文
-
MVC 4
摘要:Asp.net MVC 4 学习笔记(一)公司最新的产品改成MVC开发模式了,以前产品开发都是经典的三层架构。对于“听闻”过而不有实际“品偿”过MVC的程序员来说,是知识的狭隘的表现。于是乎最近在学习Asp.net MVC。同时记录下自己的学习笔记,以便以后查阅使用。可能有部分内容来自于网络或别人的博客,如有侵权,请联系,以便修改或进行说明。 一、三层架构与MVC 公司的产品既然是从三层架构转换为MVC,那么两者的区别究竟是什么?这好像是一个讨论很久的问题! 什么是三层架构: 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分... 阅读全文
-
Mvc的多层架构
摘要:分享一个Mvc的多层架构,欢迎大家拍砖斧正多层架构是什么?多层架构是开发人员在开发过程当中面对复杂且易变的需求采取的一种以隔离控制为主的应对策略,关于多层架构的标准,我认为有一句话是比较有代表性的“每一层都可以单独部署”,最传统,最简单的就是从三层开始的:将整个项目自下而上的分为:数据持久(数据访问)层,逻辑(业务)层,UI(展现)层。数据访问层:负责将数据持久化响应的数据存储设备上,如DataBase,Txt,Excel等。业务逻辑层:负责处理为满足软件需求而订制的一系列的逻辑与业务,如用户在前端下订单之后,整个业务流可能涉及到,获取用户信息,获取商品信息,获取购物车信息,验证商品可购买数量 阅读全文
-
多个视图结果显示于一个共用预览视图内
摘要:多个视图结果显示于一个共用预览视图内先参考以前ASP.NET的功能《网站程序(案例)》http://www.cnblogs.com/insus/p/3291322.html。 作为一个网站后台管理,我们可以实现一个预览的功能。即是说能让管理员管理数据之后,能预览到效果。这些情况,一般是在没有开发前端网页情况之下,可以使用。现今Insus.NET在MVC应用程序实现相同的功能。ASP.NET与ASP.NET MVC不是一样的开发结构,没有相同的部分可以拷贝。只有能明白它的功能之后。才能完成。以下例子,仅开两个视图和一个共用预览的视图。真实环境不止两个视图,每个视图内容不一样,但共用预览的视图只有 阅读全文
-
13个不可不知的ASP.NET MVC扩展点
摘要:13个不可不知的ASP.NET MVC扩展点ASP.NET MVC设计的主要原则之一是可扩展性。处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的。因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏某些约定),您可以创建自己的服务来支持您的约定,并将其注入到主管线中。 在本文中,我们将从管线开始直到视图呈现,逐一向您展示每个ASP.NET MVC开发者都必须了解13个扩展点。 1.ASP.NET MVC扩展之RouteConstraint 通常情况下你可以使用正则表达式对url参数进行约束,但如果您的约束不仅仅取决于单一参数,您可以实现 IR... 阅读全文
-
ASP.NET MVC4实现TinyMCE 4.0.20自定义上传功能
摘要:ASP.NET MVC4实现TinyMCE 4.0.20自定义上传功能tinymce 插件不提供免费的本地图片上传功能,所以自己将uploadify这个上传插件整合到tinymce,实现本地上传,还用到了jquery.ui插件,先展示全部的代码View Code接下来分步骤来分析1 先实现在tinymce插件上添加自定义按钮View Code2.初始化uploadify插件View Code3.在点击自定义按钮后启用jquery-ui的dialog插件调出上传对话框View Code至此前台部分OK了,接下来是后台1.后台接收用户上传的图片View Code2.接收tinymce插件的内容(我 阅读全文
-
ASP.NET MVC 5 - 给数据模型添加校验器
摘要:ASP.NET MVC 5 - 给数据模型添加校验器在本节中将会给Movie模型添加验证逻辑。并且确保这些验证规则在用户创建或编辑电影时被执行。拒绝重复DRYASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(DRY--Don’t Repeat Yourself)"。ASP.NET MVC鼓励您指定功能或者行为,只做一次,然后将它应用到应用程序的各个地方。这可以减少您需要编写的代码量,并减少代码出错率,易于代码维护。给ASP.NET MVC 和 Entity Framework Code First 提供验证支持是 DRY 信条的一次伟大实践。您可以在一个 阅读全文
-
Web Api单元测试写法
摘要:Web Api单元测试写法例如我们在Web Api项目中有个Controllerpublic class SomeController : ApiController{ public HttpResponseMessage Get() { // 一些操作 return Request.CreateResponse(HttpStatusCode.OK, someModel); }}如果你在单元测试中直接调用SomeController的Get()方法,那么你将会收到一个Exception提示Request为Null。因此我们需要在测试代码中构造一个... 阅读全文
-
动态布局和站点管理
摘要:动态布局和站点管理目录介绍软件环境在运行示例代码之前(源代码 +示例登陆帐号)自定义操作结果和控制器扩展1)OpenFileResult2)ImageResult控制器扩展自定义HTML帮助器1)ImageButton2)EnumDropDownList3)CustomCheckBox4)ImageFromStream在MVC4.0中引入jqGrid插件(涉及技术:AJAX,JSON,JQuery,LINQ,序列化)动态布局和站点管理1)数据实体2)站点设置3)站点文件4)实现动态布局如何扩展动态布局介绍“MVC网站教程”系列的目的是教你如何使用ASP.NET MVC创建一个基本的、可扩展的网 阅读全文
-
ASP.NET Web Api构建基于REST风格的服务实战系列教程
摘要:使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【十】——使用CacheCow和ETag缓存资源系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html前言本文将使用一个开源框架CacheCow来实现针对Http请求资源缓存,本文主要介绍服务器端的缓存。使用缓存技术可以很好的提高Web Api的性能,减小服务器的开销。我们把这种缓存形式称之为:条件化请求(Conditional Requests)。具体表现为:客户端向服务器请求时会附加一个请求头ETag,然后服务器会根据这个信息来决定是否需要把更新过的资源响应给客户端,如果需 阅读全文
-
MVC过滤器中获取实体类属性值
摘要:MVC过滤器中获取实体类属性值本文地址:http://www.cnblogs.com/outtamyhead/p/3616913.html,转载请保留本地址!最近在项目遇到了这个问题:获取Action行参中实体类的属性值,主要的逻辑是加入一个全局过滤器,从ACTION参数中截取实体类并获得它里面的内容。经过在网上以及园子里找资料,没有查到相关内容,但是也零零碎碎的获得了很多有用的信息。过滤器主要包含四种:Authorization、Action、Result、Exception,分别对应的接口是:IAuthorizationFilter、IActionFilter、IResultFilter、 阅读全文
-
MVC——分页控件
摘要:MVC——分页控件不管是什么类型的网站,分页都是必不可少的功能实现。在这里记录一下我自己接触过的分页控件:一. MvcPager控件(记得项目里添加MvcPager.dll的引用)这里面比较常用的就——@Html.Page()这里面有很多参数,具体的不一一细说,,常用的格式是 @Html.Page(数据源,参数设置),例如:@Html.Pager(Model, new PagerOptions{ PageIndexParameterName = "pageIndex", ShowPageIndexBox = true, FirstPageText = "首页&qu 阅读全文
-
ASP.NET MVC应用程序实现下载功能
摘要:ASP.NET MVC应用程序实现下载功能上次Insus.NET有在MVC应用程序实现了上传文件的功能《MVC应用程序显示上传的图片》http://www.cnblogs.com/insus/p/3597543.html有上传就有下载。本篇博文是把上传的文件以列表的形式显示View视图上,然后用户可以点击下载。为了解更多的内容,建议你先看上链接一篇。在MVC应用程序的Entity目录下,找到和打开FileLibraryEntity.cs,添加一个返回DataTable的方法:#1写一个GetUploadFileByPrimarykey(FileLibrary fl)函数,返回DataTable 阅读全文