Asp.Net Mvc: Implement your custom ModelBinder

环境:

Windows 2008, VS 2008 SP1, Asp.Net Mvc RC1

上文:Asp.Net Mvc: Model Binding 机制分析  中,我们简单分析了Asp.Net Mvc中Model Binding 的过程,非常粗糙,本文将探索如何实现一个自己的ModelBinder,并进一步展示前文忽略的若干细节。

假设,我们现在有一个Book类,

现在我们要实现添加Book的功能,因此,新建一个BookController,并且加入一个Action:

建立相应的View:

时间: 2025-01-20 11:31:44

Asp.Net Mvc: Implement your custom ModelBinder的相关文章

体验Asp.Net Mvc Preview5(3)-探索ModelBinder的工作原理

在前面的两篇文章中,我们研究了Asp.Net Mvc Preview5的ViewEingine的改进,从本篇开始,我们开始研究Preview5中的新特性:ModelBinder. 首先我们来了解下什么是ModelBinder特性,这有什么用处,在以前的版本中,如果我们要在Action中获取数据,一般有三种方式,一是通过Action的参数,但是由于某些原因,这儿只能获取到简单类型的参数,比如int,string等,第二种方式是通过Request来获取,但是当数据较多的时候,这个方式实在太费劲了.三

体验Asp.Net Mvc Preview5(4)-实战ModelBinder,将Action参数实体化

在上篇中.我们分析了解了ModelBinder而本文将在实例中添加自己的ModelBinder,以便获得我们期望中的效果.本次我们通过一个简单的Demo来对全站的ModelBinder做一个解决方案. 首先给出工程文件图: 注意一点,本例中,我的目标是给整站的Entity对象实现一个通用的,可扩展的ModelBinder引擎.由于我们要让实体对象和url字符串之间转换,为了方便,可以定义相应的方法来实现,因此定义了IEntity接口,该接口定义如下: 解释下,Fill方法是将对应的字符串转换成对

ModelBinder:ASP.NET MVC Model绑定的核心

Model的绑定体现在从当前请求提取相应的数据绑定到目标Action方法的参数.通过前面的介绍我们知道Action方法的参数通过ParameterDescriptor来描述,ParameterDescriptor的BindingInfo属性表示的ParameterBindingInfo对象具有一个名为ModelBinder的组件用于完成针对当前参数的Model绑定.ModelBinder可以看成是整个Model绑定系统的核心,我们先来认识这个重要的组件. 一. ModelBinder 用于进行M

返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test

原文:返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test[索引页][源码下载] 返璞归真 asp.net mvc (5) - Action Filter, UpdateModel, ModelBinder, Ajax, Unit Test 作者:webabcd 介绍 asp.net mvc 之 Action Filter, UpdateModel, ModelBinder, Ajax, U

ModelBinder——ASP.NET MVC Model绑定的核心

Model的绑定体现在从当前请求提取相应的数据绑定到目标Action方法的参数.通过前面的介绍我们知道Action方法的参数通过ParameterDescriptor来描述,ParameterDescriptor的BindingInfo属性表示的ParameterBindingInfo对象具有一个名为ModelBinder的组件用于完成针对当前参数的Model绑定.ModelBinder可以看成是整个Model绑定系统的核心,我们先来认识这个重要的组件.[本文已经同步到<How ASP.NET

asp.net MVC利用自定义ModelBinder过滤关键字的方法(附demo源码下载)_实用技巧

本文实例讲述了MVC利用自定义ModelBinder过滤关键字的方法.分享给大家供大家参考,具体如下: 前面一篇主要讲解了如何利用ActionFilter过滤关键字,这篇主要讲解如何利用自己打造的ModelBinder来过滤关键字. 首先,我们还是利用上一篇<asp.net MVC利用ActionFilterAttribute过滤关键字的方法>中的实体类,但是我们需要加上DataType特性,以便于我们构造的ModelBinder通过DataTypeName识别出来: using System

ASP.NET MVC &amp; EF 构建智能查询 二、模型的设计与ModelBinder

在第一篇中,我讲解了我们要做智能查询的原因,以及基本的解决方案设计.从这篇开始我们开始讲解它的实现过程. 其实在写这一系列文章之初,我其实是想由底至上去讲解,但是我又整理了一遍代码才发现,其实如果不了解最表面的东西,也是不太好深入的. 所以我们的第二篇文章就来讲一下我们这个智能查询框架中最浅,但也是使用最频繁的部分,也就是Model. 首先我们的Entity  或者说数据库的结构如下 另外如下面代码,我们有一个用于传递name=value对,及查询谓词的model 1: public Actio

ASP.NET MVC &amp;amp; EF 构建智能查询 二、模型的设计“.NET研究”与ModelBinder

在第一篇中,我讲解了我们要做智能查询的原因,以及基本的解决方案设计.从这篇开始我们开始讲解它的实现过程. 其实在写这一系列文章之初,我其实是想由底至上去讲解,但是我又整理了一遍代码才发现,其实如果不了解最表面的东西,也是不太好深入的. 所以我们的第二篇文章就来讲一下我们这个智能查询框架中最浅,但也是使用最频繁的部分,也就是Model. 首先我们的Entity  或者说数据库的结构如下: 另外如下面代码,我们有一个用于传递name=value对,及查询谓词的model: public Action

一起谈.NET技术,ASP.NET MVC &amp;amp; EF 构建智能查询 二、模型的设计与ModelBinder

在第一篇中,我讲解了我们要做智能查询的原因,以及基本的解决方案设计.从这篇开始我们开始讲解它的实现过程. 其实在写这一系列文章之初,我其实是想由底至上去讲解,但是我又整理了一遍代码才发现,其实如果不了解最表面的东西,也是不太好深入的. 所以我们的第二篇文章就来讲一下我们这个智能查询框架中最浅,但也是使用最频繁的部分,也就是Model. 首先我们的Entity  或者说数据库的结构如下: 另外如下面代码,我们有一个用于传递name=value对,及查询谓词的model: public Action