http://www.cnblogs.com/willick/category/495350.html
[ASP.NET MVC 小牛之路]18 - Web API
摘要: Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API。Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的一部分,微软把Web API相关的类从System.Web.Mvc 命名空间下提取了出来放在System.Web.Http 命名空间下。这种理念是把Web API 作为ASP.NET 平台的核心之一,以使Web API能使用在其他的Web应用中,或作为一个独立的服务引擎。本文将先带大家理解Web API,再教大家在MVC中使用Web API。本文目录理解 REST 和RESTful Web API 阅读全文
posted @ 2013-11-27 07:57 Liam Wang 阅读(2923) | 评论 (16) 编辑
[ASP.NET MVC 小牛之路]17 - 捆绑(Bundle)
摘要: 本文介绍 MVC 4 提供的一个新特性:捆绑(Bundle),一个在 View 和 Layout 中用于组织优化浏览器请求的 CSS 和 JavaScript 文件的技术。本文目录了解VS默认加入的脚本库当我们创建一个基本模板的 MVC 工程时,VS在Scripts文件夹中默认加入了一些JavaScript 脚本库。下面是这些脚本库的简单介绍:jquery-1.8.2.js,这个就不用解释了。jquery-ui-1.8.24.js,在jQuery 基础上的一套界面工具,包括了网页上常见的很多插件和动画特效。jquery.validate.js,用于验证用户在表单内input元素输入的数据。kn 阅读全文
posted @ 2013-11-25 12:14 Liam Wang 阅读(1579) | 评论 (4) 编辑
[ASP.NET MVC 小牛之路]16 - Model 验证
摘要: 上一篇博文[ASP.NET MVC 小牛之路]15 - Model Binding中讲了MVC在Model Binding过程中如何根据用户提交HTTP请求数据创建Model对象。在实际的项目中,我们需要对用户提交的信息进行验证。MVC 对验证提供了较好的支持,如可以通过 Model 元数据设置验证规则、用 ModelState 来处理错误信息等。本文将介绍 Model 的各种验证及其使用。虽然 Model 验证使用起来很简单,但为了更深入的理解它,强烈建议大家在阅读本文前先阅读[ASP.NET MVC 小牛之路]15 - Model Binding。本文目录示例准备按照惯例,先创建一个MVC 阅读全文
posted @ 2013-11-22 08:10 Liam Wang 阅读(2637) | 评论 (11) 编辑
[ASP.NET MVC 小牛之路]15 - Model Binding
摘要: Model Binding(模型绑定)是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程。我们之前所有示例中传递给 Action 方法参数的对象都是在Model Binding 中创建的。本文将介绍Model Binding 如何工作,及如何使用Model Binding,最后将演示如何自定义一个 Model Binding 以满足一些高级的需求。本文目录理解Model Binding在阅读本节之前,读者最好对 URL 路由和 ControllerActionInvoker 有一定的了解,可阅读本系列的[ASP.NET MVC 小牛之路]07 - URL Routing和[ 阅读全文
posted @ 2013-11-21 09:01 Liam Wang 阅读(2258) | 评论 (20) 编辑
[ASP.NET MVC 小牛之路]14 - Unobtrusive Ajax
摘要: Ajax (Asynchronous JavaScript and XML 的缩写),如我们所见,这个概念的重点已经不再是XML部分,而是Asynchronous 部分,它是在后台从服务器请求数据的一种模型。MVC 框架内置了对Unobtrusive Ajax 的支持,它允许我们通过 MVC 的 Help mothod 来定义 Ajax 的特性,而不用在 View 中参杂一大段 JavaScript 代码。本文目录:普通 Ajax 使用方式在讲 MVC 中的 Unobtrusive Ajax 之前,我们先来看看 MVC 中 Ajax 的普通使用方式,读者可以在阅读后文的时候进行比较学习。新建一 阅读全文
posted @ 2013-11-20 08:58 Liam Wang 阅读(2097) | 评论 (16) 编辑
[ASP.NET MVC 小牛之路]13 - Helper Method
摘要: 我们平时编程写一些辅助类的时候习惯用“XxxHelper”来命名。同样,在 MVC 中用于生成 Html 元素的辅助类是 System.Web.Mvc 命名空间下的HtmlHelper,习惯上我们把 HtmlHelper 中的(扩展)方法叫 HtmlHelperMethod,由于使用频繁,就简单称为HelperMethod。它的作用是把生成 Html 代码的任务交给 MVC,以便 MVC 能完成很多自动处理的工作,也减少了代码量。我们在 View 中使用的Html.ActionLink、Html.BeginForm、Html.CheckBox、Html.Raw 方法等都是 HtmlHelper 阅读全文
posted @ 2013-11-19 00:31 Liam Wang 阅读(2041) | 评论 (4) 编辑
[ASP.NET MVC 小牛之路]12 - Section、Partial View 和 Child Action
摘要: 概括的讲,View中的内容可以分为静态和动态两部分。静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容。给View添加动态内容的方式可归纳为下面几种:Inline code,小的代码片段,如 if 和foreach 语句。Html helper方法,用来生成单个或多个HTML元素,如view model、ViewBag等。Section,在指定的位置插入创建好的一部分内容。Partial view,存在于一个单独的视图文件中,作为子内容可在多个视图中共享。Child action,相当于一个包含了业务逻辑的UI组件。当使用child action时,它调用 cont 阅读全文
posted @ 2013-11-14 00:43 Liam Wang 阅读(2432) | 评论 (6) 编辑
[ASP.NET MVC 小牛之路]11 - Filter
摘要: Filter(筛选器)是基于AOP(面向方面编程)的设计,它的作用是对MVC框架处理客户端请求注入额外的逻辑,以非常简单优美的方式实现横切关注点(Cross-cutting Concerns)。横切关注点是指横越应该程序的多个甚至所有模块的功能,经典的横切关注点有日志记录、缓存处理、异常处理和权限验证等。本文将分别介绍MVC框架所支持的不同种类的Filter的创建和使用,以及如何控制它们的执行。本文目录四种基本 Filter 概述MVC框架支持的Filter可以归为四类,每一类都可以对处理请求的不同时间点引入额外的逻辑处理。这四类Filter如下表:在MVC框架调用acion之前,它会先判断有 阅读全文
posted @ 2013-11-12 22:28 Liam Wang 阅读(2118) | 评论 (12) 编辑
[ASP.NET MVC 小牛之路]10 - Controller 和 Action (2)
摘要: 继上一篇文章之后,本文将介绍 Controller 和 Action 的一些较高级特性,包括 Controller Factory、Action Invoker 和异步 Controller 等内容。本文目录开篇:示例准备文章开始之前,我们先来了解一下一个请求的发出到Action方法处理后返回结果的流程,请试着理解下图:本文的重点是 controller factory 和 action invoker。顾名思义,controller factory 的作用是创建为请求提供服务的Controller实例;action invoker 的作用是寻找并调用Action方法。MVC框架为这两者都提供 阅读全文
posted @ 2013-11-11 09:19 Liam Wang 阅读(2441) | 评论 (19) 编辑
[ASP.NET MVC 小牛之路]09 - Controller 和 Action (1)
摘要: 我们知道,在 MVC 中每个请求都会提交到 Controller 进行处理。Controller 是和请求密切相关的,它包含了对请求的逻辑处理,能对 Model 进行操作并选择 View 呈现给用户,对于业务和数据的逻辑代码以及接口和辅助类库等一般都不放到 Controller 中。Controller 和 Action 的内容较多,我把它分成了两篇,也可能会分成三篇。本篇介绍 Controller 的实现、Controller 对状态数据的获取、ActionResult 和 Action 的数据传递,后续将介绍 Controller 工厂、Action Invoker 和暂时还没想好或正在学 阅读全文
posted @ 2013-10-08 23:20 Liam Wang 阅读(2743) | 评论 (6) 编辑
[ASP.NET MVC 小牛之路]08 - Area 使用
摘要: ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,每个Area代表应用程序的不同功能模块。这对于大的工程非常有用,Area使每个功能模块都有各自的文件夹,文件夹中有自己的Controller、View和Model,但对于管理也增加了一定的难度。本文目录创建Area右键工程选择 添加->区域,弹出如下填写Area的对话框:点击添加后,工程目录结构如下:和创建一个空MVC工程结构类似,Admin Area有自己的 Controllers、Models 和 Views 文件夹,不一样的地方就是多了一个AdminAreaRegistration.cs 文件,这个文件中定义了一 阅读全文
posted @ 2013-10-02 20:35 Liam Wang 阅读(2105) | 评论 (13) 编辑
[ASP.NET MVC 小牛之路]07 - URL Routing
摘要: 我们知道在ASP.NET Web Forms中,一个URL请求往往对应一个aspx页面,一个aspx页面就是一个物理文件,它包含对请求的处理。而在ASP.NET MVC中,一个URL请求是由对应的一个Controller中的Action来处理的,由URL Routing来告诉MVC如何定位到正确的Controller和Action。笼统的讲,URL Routing包含两个主要功能:解析URL 和生成URL,本文将围绕这两个大点进行讲解。本文目录URL Routing 的定义方式让我们从下面这样一个简单的URL开始:http://mysite.com/Admin/Index在域名的后面,默认使用 阅读全文
posted @ 2013-09-28 23:32 Liam Wang 阅读(3636) | 评论 (14) 编辑
[ASP.NET MVC 小牛之路]06 - 使用 Entity Framework Code First
摘要: 在家闲着也是闲着,继续写我的[ASP.NET MVC 小牛之路]系列吧。在该系列的上一篇博文中,在显示书本信息列表的时候,我们是在程序代码中手工造的数据。本文将演示如何在ASP.NET MVC中使用Entity Framework Code First从数据库中获取数据。虽然本文题目听上去比较简单,但如果你认真阅读,相信你一定会有所收获。本文目录:ORM 和 EF当我们要开发一个应用程序,就要考虑怎样展示数据,怎样持久化数据。考虑这个问题时我们所要关心的东西,最重要的莫过于程序的性能、开发的简易性和代码的可维护、可扩展性。持久化(Persistence),是指在应用程序中能永久地保存各个处理状 阅读全文
posted @ 2013-09-07 19:41 Liam Wang 阅读(3079) | 评论 (32) 编辑
[ASP.NET MVC 小牛之路]05 - 使用 Ninject
摘要: 在[ASP.NET MVC 小牛之路]系列上一篇文章(依赖注入(DI)和Ninject)的末尾提到了在ASP.NET MVC中使用Ninject要做的两件事情,续这篇文章之后,本文将用一个实际的示例来演示Ninject在ASP.NET MVC中的应用。为了更好的理解和撑握本文内容,强烈建议初学者阅读本文前先阅读依赖注入(DI)和Ninject。本文目录:准备工作新建一个名为BookShop的空白解决方案。在该解决方案中分别添加一个名为BookShop.WebUI的MVC空应用程序,和一个名为BookShop.Domain的类库工程。目录结构如下:两个工程添加完后,在BookShop.WebUI 阅读全文
posted @ 2013-09-04 11:53 Liam Wang 阅读(2901) | 评论 (27) 编辑
[ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject
摘要: 本文目录:为什么需要依赖注入在[ASP.NET MVC 小牛之路]系列的理解MVC模式文章中,我们提到MVC的一个重要特征是关注点分离(separation of concerns)。我们希望应用程序的各部分组件尽可能多的相互独立、尽可能少的相互依赖。我们的理想情况是:一个组件可以不知道也可以不关心其他的组件,但通过提供的公开接口却可以实现其他组件的功能调用。这种情况就是所谓的松耦合。举个简单的例子。我们要为商品定制一个“高级”的价钱计算器LinqValueCalculator,这个计算器需要实现IValueCalculator接口。如下代码所示:public interface IValue 阅读全文
posted @ 2013-08-07 21:37 Liam Wang 阅读(5268) | 评论 (24) 编辑
[ASP.NET MVC 小牛之路]03 - Razor语法
摘要: Razor是MVC3中才有的新的视图引擎。我们知道,在ASP.NET中,ASPX的视图引擎依靠来调用C#指令。而MVC3以后有了一套新的使用@标记的Razor语法,使用起来更灵活更简洁。下面通过一些简单示例让大家快速撑握Razor语法的使用。本文目录准备工作在演示Razor语法的使用之前,我们需要做一些准备工作。1.打开VS创建一个ASP.NET MVC空项目,很简单,就不具体演示了。2.添加一个Model。在项目的Models文件夹中添加一个名为Product的类。在这我们把前一篇C#知识点提要用到的Product类搬过来用。代码如下:namespace MvcApplication1.Mo 阅读全文
posted @ 2013-08-02 14:39 Liam Wang 阅读(4972) | 评论 (14) 编辑
[ASP.NET MVC 小牛之路]02 - C#知识点提要
摘要: 本篇博文主要对asp.net mvc开发需要撑握的C#语言知识点进行简单回顾,尤其是C# 3.0才有的一些C#语言特性。对于正在学asp.net mvc的童鞋,不防花个几分钟浏览一下。本文要回顾的C#知识点有:特性、自动属性、对象集合初始化器、扩展方法、Lambda表达式和Linq查询。C#资深“玩家”可路过。本文目录1.特性(Attributes)特性(Attributes),MSDN的定义是:公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文 阅读全文
posted @ 2013-07-25 16:03 Liam Wang 阅读(4669) | 评论 (12) 编辑
[ASP.NET MVC 小牛之路]01 - 理解MVC模式
摘要: PS:MVC出来很久了,工作上一直没机会用。出于兴趣,工作之余我将展开对MVC的深入学习,通过博文来记录所学所得,并希望能得到各位园友的斧正。本文目录理解一般意义上的MVC模式MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为以下三个基本部分:模型(Model):模型用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。“模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。视图(View):视图能够实现数据有目的的显示。在视图中一般没有程序上的逻辑。控制 阅读全文
posted @ 2013-07-24 17:20 Liam Wang 阅读(4500) | 评论 (5) 编辑