滴答数必须介于DateTime.MinValue.Ticks和DateTime.MaxValue.Ticks

评论(0)浏览(551)分类:asp.net-mvc
滴答数必须介于DateTime.MinValue.Ticks和DateTime.MaxValue.Ticks  今天访问本地的asp.net程序时(所有asp.net程序),出现 加载配置文件时出错: 滴答数必须介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks的错误,然后也没有显示具体错误行,最下面显示asp.net默认系统配置文件F:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config 0行。  用记事本打开machine.config文件看里..

使用javascript隐藏显示asp.net Validator控件

评论(0)浏览(301)分类:asp.net-mvc
使用javascript隐藏显示asp.net Validator控件  本文介绍如何使用javascript显示或者隐藏ASP.NET AJAX (AJAXControlToolkit) ValidatorCalloutExtender控件。 下面为示例代码%@ Page Language=C# AutoEventWireup=true CodeFile=Default.aspx.cs Inherits=_Default % %@ Register assembly=AjaxControlToolkit namespace=AjaxControlToolkit tagprefix=AJAXControls % !DOCTYPE html PUBLI..

ASP.NET MVC Razor介绍:RazorViewEngine

评论(0)浏览(245)分类:asp.net-mvc
ASP.NET MVC Razor介绍:RazorViewEngine  基于Web Form引擎的WebFormViewEngine和针对Razor引擎的RazorViewEngine都是抽象类型BuildManagerViewEngine的子类,而后者又继承自VirtualPathProviderViewEngine。 在这里我们仅仅对实现在RazorViewEngine中View获取的逻辑进行简单介绍。由于Razor引擎下的View通过RazorView对象来 表示,而RazorView通过View文件的虚拟路径来构建,所以Ra..

ASP.NET MVC Razor介绍:IoC在View激活过程中的应用

评论(0)浏览(198)分类:asp.net-mvc
ASP.NET MVC Razor介绍:IoC在View激活过程中的应用  在《ASP.NET MVC Razor介绍:RazorView》 介绍BuildManagerCompiledView的时候,我们谈到默认使用的ViewPageActivator使用当前注册的 DependencyResolver来完成对目标View的激活,这意味着我们可以通过注册自定义DependencyResolver的方式实现基于 IoC的View激活。本篇文章中我们将演示如何通过自定义View的方式实现与IoC框架Ninject的集成。..

ASP.NET MVC Razor介绍:RazorView

评论(0)浏览(186)分类:asp.net-mvc
ASP.NET MVC Razor介绍:RazorView  Razor引擎具有两个核心的类型,一个是表示View本身的类型RazorView,另一个则是获取和创建它的RazorViewEngine,我们将用两篇文章对它们分别进行剖析。Razor引擎下的View通过类型RazorView表示,它与表示Web Form引擎View的类型WebFormView都是BuildManagerCompiledView的子类。一、BuildManagerCompiledView  为了能够清楚地说明实现在Bu..

ASP.NET MVC Razor介绍:View编译原理

评论(0)浏览(263)分类:asp.net-mvc
ASP.NET MVC Razor介绍:View编译原理  通过.cshtml或者.vbhtml文件定义的View能够被执行,必须先被编译 成存 在于某个程序集的类型,ASP.NET MVC采用动态编译的方式对View文件实施编译。当我们在对ASP.NET MVC进行部署的时候,需要对.cshtml或者.vbhtml文件进行打包。针对某个View的第一次访问会触发针对它的编译,一个View对应着一个 类型。我们可以对.cshtml或者.vbhtml进行修改..

ASP.NET MVC View呈现[实例篇]

评论(0)浏览(177)分类:asp.net-mvc
ASP.NET MVC View呈现[实例篇]  在《ASP.NET MVC View呈现[设计篇]》篇中通过对View引擎的总体介绍讲述了从ViewResult的创建到View呈现的原理,为了让读者对View引擎及其View呈现机制具有一个深刻的认识,我们自定义一个简单的用于呈现静态HTML的StaticFileViewEngine。 在一个通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中,我们定义了如下一个针对于静态HTML..

ASP.NET MVC View呈现[设计篇]

评论(0)浏览(187)分类:asp.net-mvc
ASP.NET MVC View呈现[设计篇]  在前面的四篇文章中,介绍了各种ActionResult以及相关的请求响应机制, 但是与View的呈现相关的ActionResult是ViewResult。通过ViewResult的执行实现的对View的呈现比上面我们介绍 的各种ActionResult要复杂得多,ASP.NET MVC内部设计了一个扩展的View引擎实现了最终的View呈现工作。一、View引擎中的View  ASP.NET MVC为我们提供了两种Vi..

ASP.NET MVC ActionResult本质:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult

评论(0)浏览(120)分类:asp.net-mvc
ASP.NET MVC ActionResult本质:HttpStatusCodeResult & RedirectResult/RedirectToRouteResultActionResult:HttpStatusCodeResult、 RedirectResult和RedirectToRouteResult 。第一个用于实现针对某个HTTP状态的响应,而后两个用于实现重定向。至于重定向,又分为暂时重定向和永久重定向,按照响应状态,又称302 重定向和301重定向。一、HttpStatusCodeResult  每 一个HTTP响应均具有一个表示响应状态的代码和一个可选的状态描述,正常情..

ASP.NET MVC ActionResult本质:JavaScriptResult & JsonResult

评论(0)浏览(124)分类:asp.net-mvc
ASP.NET MVC ActionResult本质:JavaScriptResult & JsonResult  在《ASP.NET MVC ActionResult本质:EmptyResult ContentResult》和《ASP.NET MVC ActionResult本质:FileResult》剖析了EmptyResult、ContentResult和FileResult这三种ActionResult是如何将Action执行的结果响 应给客户端的。本篇文章着重介绍在进行Ajax调用中经常使用的两个ActionResult,即JavaScriptResult和 JsonResult。一、JavaScri..

ASP.NET MVC ActionResult本质:EmptyResult & ContentResult

评论(0)浏览(117)分类:asp.net-mvc
ASP.NET MVC ActionResult本质:EmptyResult & ContentResult  定义在Controller中的Action方法大都返回一个ActionResult对 象。ActionResult是对Action执行结果的封装,用于最终对请求进行响应。ASP.NET MVC提供了一系列的ActionResult,它们本质上是通过怎样的方式来响应请求的呢?这是这个系列着重讨论的主题。一、ActionResult对请求的响应  HTTP 是一个单纯的采用请求/回复消息交换模式的网络协议..

ASP.NET MVC ActionResult本质:FileResult

评论(0)浏览(142)分类:asp.net-mvc
ASP.NET MVC ActionResult本质:FileResult  FileResult是 一个基于文件的ActionResult,利用FileResult我们可以很容易地将从某个物理文件的内容响应给客户端。ASP.NET MVC定义了三个具体的FileResult,分别是FileContentResult、FilePathResult和 FileStreamResult。在这篇文章中我们将探讨三种具体的FileResult是如何将文件内容对请求进行响应的。一、FileResult  如下面的代码片断..

ASP.NET MVC集成EntLib异常处理实现

评论(1)浏览(93)分类:asp.net-mvc
ASP.NET MVC集成EntLib异常处理实现  通过《ASP.NET MVC集成EntLib异常处理实例》的实演示可以看出我们通过扩展实现的自动异常处理机制能够利用EntLib的EHAB根据执行的一场处理策略对某个Action方法执行过程中抛出的异常进行处理。对于处理后的结果,则按照如下的机制对请求进行响应。[源代码从这里下载]对于Ajax请求,直接创建一个用于封装被处理后异常的数据对象,并据此创建一..

ASP.NET MVC集成EntLib异常处理实例

评论(0)浏览(102)分类:asp.net-mvc
ASP.NET MVC集成EntLib异常处理实例  合理的异常处理应该是场景驱动的,在不同的场景下,采用的异常处理策略往往是不同的。异 常处理的策略应该是可配置的,因为应用程序出现怎样的异常往往是不可预测的,现有异常策略的不足往往需要在真正出现某种异常的时候才会体现出来,所以我们 需要一种动态可配置的异常处理策略维护方式。目前有一些开源的异常处理框架提供了这种可配置的..

ASP.NET MVC ActionFilter介绍

评论(0)浏览(163)分类:asp.net-mvc
ASP.NET MVC ActionFilter介绍  ASP.NET MVC中的四大筛选器(Filter),ActionFilter直接应用在某个Action方法上,它在目标Action方法执行前后对调用进行拦截以 执行一些额外的操作。这是一种典型的AOP式的设计,如果我们需要在执行某个Action方法的前后执行一些操作,可以通过定义ActionFilter 来实现。本篇文章主要讲述多一个应用到相同Action方法上的ActionFilter的执行..

ASP.NET MVC的筛选器

评论(0)浏览(77)分类:asp.net-mvc
ASP.NET MVC的筛选器  在ActionInvoker对Action的执行过程中,除了通过利用 ActionDescriptor对Action方法的执行,以及之前进行的Model绑定与验证之外,还具有一个重要的工作,那就是对相关筛选器 (Filter)的执行。ASP.NET MVC的筛选器是一种基于AOP(面向方面编程)的设计,我们将一些非业务的逻辑实现在相应的筛选器中,然后以一种横切(Crosscutting)的方 式..

ASP.NET MVC同步与异步[上篇]

评论(0)浏览(119)分类:asp.net-mvc
ASP.NET MVC同步与异步[上篇]  Action方法的执行具有两种基本的形式,即同步执行和异步执行,而在ASP.NETMVC的整个体系中涉及到很多同步/异步的执行方式,虽然在前面相应的文章中已经对此作了相应的介绍,为了让读者对此有一个整体的了解,我们来做一个总结性的论述。一、MvcHandler的同步与异步  对 于ASP.NET MVC应用来说,MvcHandler是最终用于处理请求的HttpHandler..

ASP.NET MVC异步Action定义和执行原理

评论(0)浏览(218)分类:asp.net-mvc
ASP.NET MVC异步Action定义和执行原理  Visual Studio提供的Controller创建向导默认为我们创建一个继承自抽象类Controller的Controller类型,这样的 Controller只能定义同步Action方法。如果我们需要定义异步Action方法,必须继承抽象类AsyncController。这篇问你讲 述两种不同的异步Action的定义方法和底层执行原理。一、基于线程池的请求处理  ASP.NET 通过线程池的机制处理并..

ASP.NET MVC Model验证-DataAnnotationsModelValidatorProvider

评论(0)浏览(113)分类:asp.net-mvc
ASP.NET MVC Model验证-DataAnnotationsModelValidatorProvider  DataAnnotationsModelValidator最终是通过它对应的 ModelValidatorProvider,即DataAnnotationsModelValidatorProvider创建的。通过前面的介绍 我们知道它是AssociatedValidatorProvider的子类,后者在用于获取ModelValidator的GetValidators 方法中已经根据指定的Model元数据所有特性创建出来,DataAnnotationsModelValidator只需要从中筛选..

ASP.NET MVC客户端自定义验证

评论(0)浏览(156)分类:asp.net-mvc
ASP.NET MVC客户端自定义验证  ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需 要将相应的ValidationAttribute应用到Model的类型或者属性上即可。对于自定义验证,我们也只需要定义相应的Validation 就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单..

ASP.NET MVC客户端jQuery Model验证

评论(0)浏览(120)分类:asp.net-mvc
ASP.NET MVC客户端jQuery Model验证  在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的。服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的 ValidationAttribute中;而客户端验证规则通过HtmlHelperTModel相应的扩展方法(比如 TextBoxFor、EditorFor和EdidtorForModel等)..

ASP.NET MVC客户端jQuery验证

评论(0)浏览(201)分类:asp.net-mvc
ASP.NET MVC客户端jQuery验证  之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对 请求数据实施验证。如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解Web服务器访问的压力。 ASP.MVC 2.0及其之前的版本采用ASP.NET Ajax进行客户端验证,在ASP.NET MVC 3.0中,jQuery验证框架被引入是我们..

ASP.NET MVC Model多种验证规则

评论(0)浏览(162)分类:asp.net-mvc
ASP.NET MVC Model多种验证规则  对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也 就是对于同一个Model对象,在不同的使用场景中可能具有不同的验证规则。举个简单的例子,对于一个表示应聘者的数据对象来说,针对应聘的岗位不同,肯 定对应聘者的年龄、性别、专业技能等方面有不同的要求。但是ASP.NET MVC的Model验证确是Model驱动的,因为验证..

ASP.NET MVC Model验证-ValidationAttribute示例

评论(0)浏览(127)分类:asp.net-mvc
ASP.NET MVC Model验证-ValidationAttribute示例  ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model类型及其属性上的ValidationAttribute才有效。如果我们能 够将ValidationAttribute特性直接应用到参数上,我们不但可以实现简单类型(比如int、double等)数据的Model验证,还能 够实现一个Model类型,多种验证规则,本篇文章将为你提供相关的解决方案(源代码从这里下..

ASP.NET MVC Model验证-DataAnnotationsModelValidator

评论(0)浏览(97)分类:asp.net-mvc
ASP.NET MVC Model验证-DataAnnotationsModelValidator  对于ASP.NET MVC基于标注特性的Model验证,很多人只知道应用在数据类型及其属性上用于定义验证规则和错误消息的ValidationAttribute。通过《ASP.NET MVC Model验证-ModelValidator》 的介绍,我们知道了最终用于进行Model验证的是一个叫做ModelValidator的组件。ValidationAttribute对应的 ModelValidator为DataAnnotationsModelValidator,..

ASP.NET MVC Model验证-ValidationAttribute

评论(0)浏览(192)分类:asp.net-mvc
ASP.NET MVC Model验证-ValidationAttribute  通过前面的介绍我们知道ModelValidatorProviders的静态只读 Providers维护着一个全局的ModelValidatorProvider列表,最终用于Model验证的ModelValidator都是通过 这些ModelValidatorProvider来提供的。对于该列表默认包含的三种ModelValidatorProvider来 说,DataAnnotationsModelValidatorProvider无疑是最重要的,ASP.NET MVC默认提供的基..

ASP.NET MVC Model验证-ModelValidatorProviders

评论(0)浏览(108)分类:asp.net-mvc
ASP.NET MVC Model验证-ModelValidatorProviders  《ASP.NET MVC Model验证-ModelValidator》介绍用真正用于实施Model验证的ModelValidator,以及用于提供ModelValidator的ModelValidatorProvider《ASP.NET MVC Model验证-ModelValidatorProvider》, 那么对于ASP.NET MVC的Model验证体系来说,最终是通过怎样的方式对ModelValidatorProvider进行注册,又是如何利用它们来创建相应的 ModelVa..

ASP.NET MVC Model验证-ModelValidatorProvider

评论(0)浏览(98)分类:asp.net-mvc
ASP.NET MVC Model验证-ModelValidatorProvider  在《ASP.NET MVC Model验证-ModelValidator》 中我们介绍了ASP.NET MVC用于Model验证的四种ModelValidator,那么这些ModelValidator是如何被创建的呢?ASP.NET MVC的很多组件(比如ModelBinder和Filter)都采用了基于Provider的提供机制,这篇文章为你讲述这些 ModelValidator对应的ModelValidatorProvider。一、ModelValidatorProvider  ..

ASP.NET MVC Model验证-ModelValidator

评论(0)浏览(91)分类:asp.net-mvc
ASP.NET MVC Model验证-ModelValidator  为目标Action方法的执行绑定输入参数的Model绑定过程伴随着对Model 的验证。借助相应的验证特性,我们可以直接以声明的方式在Model类型上定义验证规则,这些规则将会作为Model元数据的一部分。具体在Model绑 定过程中,ModelBinder通过ValueProvider为Model对象的某个属性提供相应属性值之后,会根据定义在基于该属性的Model元 数据的验证规..

ASP.NET MVC Model字典绑定

评论(0)浏览(116)分类:asp.net-mvc
ASP.NET MVC Model字典绑定  在《ASP.NET MVC Model简单复杂类型绑定》、《ASP.NET MVC Model数组绑定》通过创建的实例程序模拟了ASP.NET MVC默认使用的DefaultModelBinder对简单类型、复杂类型以及数组对象的Model绑定。现在我们按照相同的方式来分析基于集合和字典类型的Model绑定是如何实现的。[源代码从这里下载]一、集合  这里的集合指的是除数组和字典之外的所有..