
C#MVC
qingxukang
这个作者很懒,什么都没留下…
展开
-
Visual Studio 2013 无法启动 IIS Express 的解决办法
VS2013无法启动IIS Express Web的解决办法不要勾选【覆盖应用程序根URL(U)】,或让【覆盖应用程序根URL(U)】下面的输入框和上面的输入框的地址一样!使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器。前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错。一下子有点蒙,why?转载 2015-04-28 17:37:53 · 2548 阅读 · 0 评论 -
MVC中的扩展点(九)验证
验证用于保证用户输入的正确性,及时阻止用户提交错误数据,确保数据符合业务规则。 MVC中可直接在控制器Action方法中进行验证:检查传入参数,如果传入参数不符合业务规则,则通过控制器的ModelState属性的AddModelError方法向模型状态添加错误消息,通过ModelState.IsValid判断模型是否全部通过验证,随后,在视图中通过Html.ValidationSum转载 2016-04-20 12:19:53 · 521 阅读 · 0 评论 -
MVC中的扩展点(八)模型绑定
MVC可以将用户提交的数据绑定到Action参数,我们将这个过程称之为模型绑定,在模型绑定中有两个关键:一个是值提供器,用于确定数据来源,另一个称为模型绑定器,用于确定如何将值绑定到特性的数据模型。MVC中默认的值提供器 值提供器是一组实现了IValueProvider接口的类,MVC中的值提供其使用了标准的抽象工厂设计模式,其类图如下: MVC提供了四转载 2016-04-20 12:19:02 · 947 阅读 · 0 评论 -
MVC中的扩展点(七)视图及视图引擎
我们知道在MVC框架中,最终通过ActionResult来生成应答内容。上一篇中我们介绍了MVC中默认的结果类型,本章我们将详细介绍ViewResult及PartialViewResult,了解MVC是如何通过视图来生成应答内容的。 MVC默认的视图被称为Web Forms视图引擎,原因在于它的视图文件使用与ASP.NET Web Forms相同的文件类型(.aspx .ascx),转载 2016-04-20 12:18:17 · 1082 阅读 · 0 评论 -
MVC中的扩展点(六)ActionResult
ActionResult是控制器方法执行后返回的结果类型,控制器方法可以返回一个直接或间接从ActionResult抽象类继承的类型,如果返回的是非ActionResult类型,控制器将会将结果转换为一个ContentResult类型。默认的ControllerActionInvoker调用ActionResult.ExecuteResult方法生成应答结果。 MVC中实现的默认Ac转载 2016-04-20 12:17:12 · 375 阅读 · 0 评论 -
MVC中的扩展点(五)方法选择器
前一篇中我们介绍了过滤器,通过方法和结果过滤器我们可以在MVC执行方法及结果的前后注入自己的功能,通过授权过滤器可以执行一些权限检查,阻止无权用户调用方法,通过异常过滤器处理方法执行过程中产生的异常。那么在执行方法之前,MVC又是如何确定使用何种控制器及其方法的呢? 我们已经知道,MVC使用DefaultControllerFactory控制器工厂来实例化控制器,其大致过程如下:转载 2016-04-20 12:16:31 · 657 阅读 · 0 评论 -
MVC中的扩展点(四)过滤器
过滤器是一组.NET特性,MVC在特定运行时点调用这些特性上的指定方法,以此实现功能注入。MVC包含四个基本的过滤器类型:授权(Authorization)、活动(Action)、结果(Result)以及异常(Exception)。MVC为这四中过滤器提供了接口定义:IAuzhorizationFilter、IActionFilter、IResultFilter、IExceptionFilter,转载 2016-04-20 12:15:46 · 425 阅读 · 0 评论 -
MVC中的扩展点(三)控制器工厂
当路由系统找到与当前请求匹配的路由信息(RouteData),而路由信息中的RouteHandler为MvcRouteHandler,那么此请求将由MvcRouteHandler返回的MvcHandler来负责处理。默认情况下MvcHandler将根据请求上下文(RequestContext)中的信息找到对应的控制器和活动方法,通过调用活动方法,返回应答内容,将其返回给客户端。 Mv转载 2016-04-20 12:13:59 · 665 阅读 · 0 评论 -
MVC中的扩展点(二)路由上的扩展
一、RouteBase 前面我们知道,UrlRoutingModule通过遍历RouteTable.Routes中的路由对象来获取匹配的RouteData,从而将请求转发到相应的IHttpHandler处理程序。RouteTable.Routes是一个RouteBase对象集合,可向集合中添加任何RouteBase的子类。所以,我们可以通过创建一个RouteBase的子类,然后将其添转载 2016-04-20 12:11:20 · 390 阅读 · 0 评论 -
MVC中的扩展点(一)路由系统简介
之所以说MVC框架很灵活,在于其扩展性很强,几乎在请求处理管道的任何一个节点都可以扩展。本系列文章将会对扩展点进行总结整理,以此增强对MVC框架的了解。 MVC是建立在路由系统之上的,所以严格上讲,路由系统并不属于MVC框架,路由系统是.NET Framework 3.5 SP1新增的内容,位于System.Web.Routing命名空间。 下面为ASP.NET MVC转载 2016-04-20 12:10:22 · 475 阅读 · 0 评论 -
让ASP.NET MVC页面返回不同类型的内容
在ASP.NET MVC的controller中大部分方法返回的都是ActionResult,更确切的是ViewResult。它返回了一个View,一般情况下是一个HTML页面。但是在某些情况下我们可能并不需要返回一个View,我们可能需要的是一个字符串,一个json或xml格式的文本,一个图片。ActionResult是一个抽象类,我们平时比较常用的ViewResult是它的派生类,所以我们转载 2016-04-19 18:05:07 · 1473 阅读 · 0 评论 -
ASP.NET MVC中错误处理方式
HandlError /// /// 标记了HandleError,并指明错误处理页为AboutError.aspx /// /// [HandleError(View = "AboutError")] public ActionResult About() {转载 2016-02-23 16:12:18 · 1248 阅读 · 0 评论 -
.net MVC 自定义异常错误页需要注意的地方
ASP.Net MVC3中如果配置文件出错了,怎么跳转到自定义的错误页,现在参考网上的档案是说添加 如下配置文件,并且在路径Views/Shared/下添加Error页面,测试下没有用的,请大家看看有什么好的建议啊,谢谢了啊! MVC根本不会理睬web.config中的customErrors,默认是由HandleErrorAttri转载 2016-02-23 16:11:11 · 650 阅读 · 0 评论 -
浅谈依赖注入
最近几天在看一本名为Dependency Injection in .NET 的书,主要讲了什么是依赖注入,使用依赖注入的优点,以及.NET平台上依赖注入的各种框架和用法。在这本书的开头,讲述了软件工程中的一个重要的理念就是关注分离(Separation of concern, SoC)。依赖注入不是目的,它是一系列工具和手段,最终的目的是帮助我们开发出松散耦合(loose coupled转载 2016-02-19 17:03:12 · 454 阅读 · 0 评论 -
MVC中的扩展点(十)辅助方法
MVC中的辅助方法与ASP.NET中的服务器控件类似,都是用于生成特定的HTML代码。MVC提供了三个辅助类,它们分别是:用于生成HTML元素的HtmlHelper,用于Ajax处理的AjaxHelper,以及用于生成Url的UrlHelper。这三个辅助类通过ViewPage的Ajax、Html、Url属性向外提供。由于视图都是是从ViewPage继承的,所以,我们在视图模板中可以直接通过这三个转载 2016-04-20 12:20:40 · 807 阅读 · 0 评论