网络热文

ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用

artech
130yabo2018.net 注册网
ASP.NET由于采用了管道式设计,具有很好的扩展性,而整个ASP.NET MVC应用框架就是通过扩展ASP.NET实现的。通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle(UrlRoutingModule)和HttpHandler

继续yabo2018.net 注册网

[ASP.NET MVC]如何定制Numeric属性/字段验证消息

artech
181yabo2018.net 注册网
对于一个Numeric属性/字段,ASP.NET MVC会自动进行数据类型的验证(客户端验证),以确保输入的是一个有效的数字,但是呈现在页面上的错误消息总是一段固定的文本:The field {0} must be a number,本篇提供一种解决方案使我们可以对此验证消息进行定制。[源代码从这里下载] 目录 一、针对Numeric属性/字段默认验证消息 二、默认的

继续yabo2018.net 注册网

通过扩展改善ASP.NET MVC的验证机制[实现篇]

artech
123yabo2018.net 注册网
在《使用篇》中我们谈到扩展的验证编程方式,并且演示了本解决方案的三大特性:消息提供机制的分离、多语言的支持和多验证规则的支持,我们现在来看看这样的验证解决方案最终是如何实现的。 目录: 一、为验证创建一个上下文:ValidatorContext 二、通过自定义ActionInvoker在进行操作执行之前初始化上下文 三、为Validator创建基类:Val

继续yabo2018.net 注册网

在ASP.NET MVC中如何应用多个相同类型的ValidationAttribute?

artech
205yabo2018.net 注册网
ASP.NET MVC采用System.ComponentModel.DataAnnotations提供的元数据验证机制对Model实施验证,我们可以在Model类型或者字段/属性上应用相应的ValidationAttribute。但是在默认情况下,对于同一个类型的ValidationAttribute特性只允许一个应用到目标元素上即使我们将AllowMultiple属性设置为True。这篇文章的

继续yabo2018.net 注册网

通过扩展改善ASP.NET MVC的验证机制[使用篇]

artech
164yabo2018.net 注册网
ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有很多的不足。在这篇文章中,我结合EntLib的VAB(Validation Application Block)的一些思想通过扩展为ASP.NET MVC提供一种更为完善的验证机制。[源代码从这里下载] 目录: 一、扩展旨在解决怎样的验证问题

继续yabo2018.net 注册网

ASP.NET MVC下基于异常处理的完整解决方案

artech
150yabo2018.net 注册网
EntLib的异常处理应用块(Exception Handling Application Block)是一个不错的异常处理框架,它使我们可以采用配置的方式来定义异常处理策略。而ASP.NET MVC是一个极具可扩展开发框架,在这篇文章中我将通过它的扩展实现与EntLib的集成,并提供一个完整的解决异常处理解决方案。[源代码从这里下载] 目录 一、基本异常处理策略 二

继续yabo2018.net 注册网

集成EntLib实现ASP.NET MVC的异常处理[续篇]

artech
97yabo2018.net 注册网
在《集成EntLib实现ASP.NET MVC的异常处理》我们实现采用EntLib的Exception Handling Application Block(EHAB)进行异常的处理,并导向指定的出错页面。在这篇文章中我们做一些改变,直接将处理过的异常消息显示在本页的ValidationSummary中。[源代码从这里下载] 一、扩展的Controller:ExtendedController

继续yabo2018.net 注册网

让我们的ASP.NET MVC应用可以单独维护验证消息

artech
176yabo2018.net 注册网
在项目开发中,我们会使用到很多的描述性文字,比如验证消息、错误消息和确认消息等,让这些文本消息具有可维护性具有重要的意义。虽然我们可以将它们存储于资源文件中,并且ASP.NET的ValidationAttribute也对这种方式提供了原生的支持。但是资源文件的每个条目仅仅是简单的键-值对,只能存储消息的文本值而已,在我们的项目开发中使用的是专门的一个维护消息的组件。在这篇文章中将会通过扩展现有的V

继续yabo2018.net 注册网

为ASP.NET MVC创建一个基于Unity的ControllerFactory

artech
134yabo2018.net 注册网
谈到IoC和ASP.NET的集成,很多人会先后想到Ninject,不过我们个人还是倾向于Unity。这篇文章简单地介绍如果创建基于Unity的ControllerFactory。如下面的代码所示,我们通过直接继承DefaultControllerFactory创建一个自定的UnityControllerFactory。构造函数指定的是配置的UnityContainer的名称,如果没有显式指定则采用

继续yabo2018.net 注册网

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

artech
140yabo2018.net 注册网
本篇通过自定义ASP.NET MVC的异常筛选器实现了与EntLib的EHAB(Exception Handling Application Block)的集成,使我们可以通过配置的方式来定义异常处理策略,并最终通过错误页面显示被处理过的异常信息。[源代码从这里下载] 我们知道ASP.NET MVC具有一个类型为HandleErrorAttribute的异常筛选器可以起到错误页面的导向作用。在这

继续yabo2018.net 注册网

通过一个模拟程序让你明白ASP.NET MVC是如何运行的

artech
128yabo2018.net 注册网
ASP.NET MVC的路由系统通过对HTTP请求的解析得到表示Controller、Action和其他相关的数据,并以此为依据激活Controller对象,调用相应的Action方法,并将方法返回的ActionResult写入HTTP回复中。为了更好的演示其实现原理,我创建一个简单的ASP.NET Web应用来模拟ASP.NET MVC的路由机制。这个例子中的相关组件基本上就是根据ASP.NET

继续yabo2018.net 注册网

一句代码实现批量数据绑定[下篇]

artech
127yabo2018.net 注册网
《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设计,看看它是如何做到将作为数据源实体的属性值绑定到界面对应的控件上的。此外,需要特别说明一点:《上篇》中提供了DataBinder最初版本的下载,但已经和本篇文章介绍的已经大不一样了。最新版本的主要解决两个主要问题:通过Expression

继续yabo2018.net 注册网

一句代码实现批量数据绑定[上篇]

artech
91yabo2018.net 注册网
对于一个以数据处理为主的应用中的UI层,我们往往需要编写相当多的代码去实现数据绑定。如果界面上的控件和作为数据源的实体类型之间存储某种约定的映射关系,我们就可以实现批量的数据绑定。为了验证这种想法,我写了一个小小的组件。这个小玩意仅仅是我花了两个小时写的,其中还有很多问题没有解决,比如对于空值的处理,特殊控件属性值的HTML编码问题,以及频繁反射的性能问题,仅仅演示一种解决思路而已。本篇着重介绍如

继续yabo2018.net 注册网

ASP.NET应用下基于SessionState的“状态编程框架”解决方案

artech
163yabo2018.net 注册网
在一个基于ASP.NET的Web应用程序中,我们通常使用SessionState保存基于某个客户端的状态信息。但是这种单纯使用SessionState的编程方式具有很多局限,比如Session Item的Key值冲突,比如没有一个有效的SessionState清除机制会为Web Server带来内存压力。为了实现对客户端状态的有效管理,并提高应用开发效率,在很多年前我们的开发框架体系中就具有相应的

继续yabo2018.net 注册网

ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline - Part II

artech
121yabo2018.net 注册网
二、ASP.NET Runtime Pipeline(续ASP.NET Http Runtime Pipeline - Part I) 现在我们真正进入ASP.NET管辖的范畴,下图基本上囊括整个处理过程涉及的对象,接下来我们一起来讨论这一系列的对象如何相互协作去处理Http Request,并最终生成我们所需的Http Response。HttpContext 上面我们介绍了ISAPI在调用

继续yabo2018.net 注册网

ASP.NET Process Model之二:ASP.NET Http Runtime Pipeline[上篇]

artech
147yabo2018.net 注册网
相信大家都使用过ASP.NET进行过基于Web的应用开发,ASP.NET是什么?如果站在一个相对High Level的角度,我们可以这样来定义ASP.NET:ASP.NET是一个基于Web的开发平台,提供构建企业级应用所需的Service、Programming Model和Software的Infrastructure。如果我们以一个Low Level的角度来看,它本质上就是一个消息处理器:他接

继续yabo2018.net 注册网

ASP.NET Process Model之一:IIS 和 ASP.NET ISAPI

artech
126yabo2018.net 注册网
前几天有一个朋友在MSN上问我ASP.NET 从最初的接收到Http request到最终生成Response的整个流程到底是怎样的?我觉得这个问题涉及到IIS和ASP.NETASP.NET Runtime的处理模型的问题,并不是三言两语就能说清楚的,所以决定写这样一篇介绍IIS和ASP.NET Runtime Process Model的文章,谈谈我对此的一个粗浅的认识,如果有什么不对的地方,希

继续yabo2018.net 注册网

深入剖析ASP.NET的编译原理之二:预编译(Precompilation)

artech
175yabo2018.net 注册网
在本篇文章的第一部分:[原创]深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation),详细讨论了ASP.NET如何进行动态编译的,现在我们来谈谈另外一种重要的编译方式:预编译(Precompilation)。目录一、为什么要进行预编译二、In Place Pre-compilation V.S. Pre-compilation for Deployment三、

继续yabo2018.net 注册网

深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)

artech
78yabo2018.net 注册网
Microsoft 的Visual Studio为我们在应用开发中提供的强大功能,我们是有目共睹。借助该工具,是我们的开发 显得更加高效而轻松。从Microsoft把这个IDE的名字从VS.NET 该为VS(比如原来的Visual Studio.NET 2003,现在的版本叫VS2005),可以MS对该IDE的期望和野心:MS要把它改造成一个万能的IDE。不过任何都有其两面性,对于我们广大的开发

继续yabo2018.net 注册网

ASP.NET:创建Linked ValidationSummary, 深入理解ASP.NET的Validation

artech
131yabo2018.net 注册网
我想对于ASP.NET的Validator控件已经熟悉的不能再熟悉了。我们 已经习惯了用Validator控件来验证我们在表单的输入,并通过ValidationSummary来输出我们为Validator控件设置的Error message。不知道大家有没想过进一步改进一下我们的Validation来改善我们的User Experience。比如,在ValidationSummary输出一个Lin

继续yabo2018.net 注册网

mydatepicker97 日历控件 - 李寒星

Javascript
188yabo2018.net 注册网
?官方教程: http://www.my97.net/

继续yabo2018.net 注册网

js之对象 - RocketMan

Javascript
168yabo2018.net 注册网
1、window对象(窗体) window对象的属性 属性 描述 closed 窗口是否关闭 document 窗口中的文档对象(只读) his

继续yabo2018.net 注册网

细说PHP中strlen和mb_strlen的区别 - 带鱼在线

PHP
202yabo2018.net 注册网
  在PHP中,strlen与mb_strlen是求字符串长度的函数,但是对于一些初学者来说,如果不看手册,也许不太清楚其中的区别。

继续yabo2018.net 注册网