[ASP.NET MVC 大牛之路]03 - C#高级知识点概要(2) - 线程和并发
摘要: 我也想过跳过C#高级知识点概要直接讲MVC,但经过前思后想,还是觉得有必要讲的。我希望通过自己的经验给大家一些指引,带着大家一起走上ASP.NET MVC大牛之路,少走弯路。同时也希望能和大家一起交流,这样也能发现我自己的不足,对我自己的帮助也是非常大的。建议大家对C#撑握的不错的时候,可以去看一些...
阅读全文
posted @
2014-12-29 23:15 Liam Wang 阅读(9730) |
评论 (68) 编辑
[ASP.NET MVC 大牛之路]02 - C#高级知识点概要(1) - 委托和事件
摘要: 在ASP.NET MVC 小牛之路系列中,前面用了一篇文章提了一下C#的一些知识点。照此,ASP.NET MVC 大牛之路系列也先给大家普及一下C#.NET中的高级知识点。每个知识点不太会过于详细,但足矣。要深入研究还需要去查看更多的专业资料。要成为大牛,必然要有扎实的基本功,不然时间再长项目再多也...
阅读全文
posted @
2014-12-21 23:31 Liam Wang 阅读(14395) |
评论 (68) 编辑
[ASP.NET MVC 大牛之路]01 - 开篇
摘要: 匆匆2014,转眼就到末尾了。在这一年,你还有哪事情些想做而没有做?2014年在我身上发生了两件意义重大的事,一是正月初一宝宝出生,我升级成为了爸爸;二是进入了一家创业公司,成为了技术负责人。2014我计划想做的事,比如带家人去一次旅行、看完家里那几本想看而没看的书、写完[ASP.NET MVC 大...
阅读全文
posted @
2014-12-17 15:12 Liam Wang 阅读(9414) |
评论 (81) 编辑
[ASP.NET MVC 小牛之路]18 - Web API
摘要: Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API。Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的一部分,微软把Web API相关的类从System.Web.Mvc 命名空间下提取了出来放在Syst...
阅读全文
posted @
2014-10-19 23:03 Liam Wang 阅读(16150) |
评论 (33) 编辑
[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 阅读(4309) |
评论 (12) 编辑
[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 阅读(7588) |
评论 (25) 编辑
[ASP.NET MVC 小牛之路]15 - Model Binding
摘要: Model Binding(模型绑定)是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程。我们之前所有示例中传递给 Action 方法参数的对象都是在Model Binding 中创建的。本文将介绍Model Binding 如何工作,及如何使用Model Binding,最后将...
阅读全文
posted @
2013-11-21 09:01 Liam Wang 阅读(8261) |
评论 (26) 编辑
[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 阅读(5780) |
评论 (20) 编辑
[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 阅读(5418) |
评论 (5) 编辑
[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 阅读(10760) |
评论 (14) 编辑
[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 阅读(8313) |
评论 (16) 编辑
[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 阅读(6976) |
评论 (27) 编辑
[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 阅读(7526) |
评论 (12) 编辑
[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 阅读(7743) |
评论 (17) 编辑
[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 阅读(10794) |
评论 (26) 编辑
[ASP.NET MVC 小牛之路]06 - 使用 Entity Framework
摘要: 在家闲着也是闲着,继续写我的[ASP.NET MVC 小牛之路]系列吧。在该系列的上一篇博文中,在显示书本信息列表的时候,我们是在程序代码中手工造的数据。本文将演示如何在ASP.NET MVC中使用Entity Framework从数据库中获取数据。虽然本文题目听上去比较简单,但如果你认真阅读,相信...
阅读全文
posted @
2013-09-07 19:41 Liam Wang 阅读(9751) |
评论 (51) 编辑
[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 阅读(9003) |
评论 (44) 编辑
[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 阅读(14825) |
评论 (41) 编辑
[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 阅读(18152) |
评论 (19) 编辑
[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 阅读(13413) |
评论 (20) 编辑
[ASP.NET MVC 小牛之路]01 - 理解MVC模式
摘要: PS:MVC出来很久了,工作上一直没机会用。出于兴趣,工作之余我将展开对MVC的深入学习,通过博文来记录所学所得,并希望能得到各位园友的斧正。本文目录理解一般意义上的MVC模式MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为以下三个基本部分:模型...
阅读全文
posted @
2013-07-24 17:20 Liam Wang 阅读(20437) |
评论 (13) 编辑