自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET MVC Beta版新特性之IValueProvider

開發(fā) 后端
本文介紹了一些ASP.NET MVC Beta版的發(fā)布背景,以及其中的新特性IValueProvider的介紹。

ASP.NET MVC Beta版發(fā)布于2008年10月。該beta版本的特性已經(jīng)非常接近于正式版V1的完整特性,雖然還會在最終的V1版發(fā)布之前加入若干個特性(包括幾個VS工具增強(qiáng)等)。但開發(fā)團(tuán)隊決定將這個版本稱為“beta”版本,是因為其品質(zhì)和測試要比以前的預(yù)覽版本高(其中包含了許多缺陷修補(bǔ)和性能調(diào)校方面的工作),他們感覺,其中的核心功能現(xiàn)在已經(jīng)“燒制”得足夠好,從這個版本到最終版不會有重大變動了。

在ASP.NET MVC Beta版中,在UpdataModel方法中提供了一個帶有IValueProvider參數(shù)的重載。那么這個IValueProvider有什么用呢?

我們先來看一個簡單的場景,例如我們的blog系統(tǒng)有一個Post的對象,Post對象有一個Tags屬性和Categories屬性,他們的類型分別是:

Post.Tags : StateList< string> (BlogEngine.NET 中的一個List< T>的擴(kuò)展類型)

Post.Categories : StateList< Category>  假如我們要使用UpdataModel方法來對我們Post過來的Form表單數(shù)據(jù)更新到我們的Post對象中,可能會有如下的代碼:

  1. /// < summary>  
  2. /// 將提交過來的新隨筆表單內(nèi)容保存到數(shù)據(jù)庫  
  3. /// < /summary>  
  4. [AcceptVerbs("POST"), ActionName("NewPost")]  
  5. public ActionResult SaveNewPost(FormCollection form)  
  6. {  
  7.     Post post = new Post();  
  8.     try 
  9.     {  
  10.         UpdateModel(post, new[] { "Title""Content""Slug""Tags""Categories" });  
  11.     }  
  12.     catch 
  13.     {  
  14.         return View(post);  
  15.     }   
  16.     ..  
  17. }    

很明顯,在上面的代碼中,我們用UpdateModel來更新Tags和Categories屬性的時候,是不可能成功的,因為UpdateModel方法不知道怎樣將Form提交過來的"Tags"和"Categories"數(shù)據(jù)轉(zhuǎn)換為StateList< string>類型和StateList< Category>類型。這時候就需要我們提供一個ValueProvider,來進(jìn)行這個轉(zhuǎn)換。

以上就是ASP.NET MVC Beta版中IValueProvider的作用。

【編輯推薦】

  1. 概述ASP.NET MVC與FubuMVC核心框架
  2. 介紹ASP.NET MVC的實現(xiàn)
  3. 如何從ASP.NET 2.0中發(fā)送電子郵件
  4. 淺談ASP.NET應(yīng)用
  5. ASP.NET中的ViewState本質(zhì)
責(zé)任編輯:yangsai 來源: 網(wǎng)絡(luò)
相關(guān)推薦

2010-10-12 09:52:02

ASP.NET MVC

2011-01-15 23:07:59

2010-10-18 09:03:44

ASP.NET MVC

2009-07-23 10:08:24

asp.net mvc

2010-03-25 08:46:16

ASP.NET 4 B

2010-10-08 14:32:32

ASP.NET MVCNuPack

2009-07-30 14:55:43

ASP.NET 2.0

2014-08-26 09:22:40

ASP.NET MVCRouting

2010-06-23 15:44:03

ASP.NET MVC

2010-10-20 09:05:16

ASP.NET MVC

2010-06-25 08:51:46

ASP.NET MVC

2014-07-29 10:00:30

ASP.NETMVCAutoFac

2015-06-18 17:37:19

ASP.NET

2009-07-31 12:43:59

ASP.NET MVC

2009-07-24 13:20:44

MVC框架ASP.NET

2010-12-07 09:38:15

ASP.NET MVC

2010-02-03 09:50:58

ASP.NET MVC

2009-09-04 16:28:05

ASP.NET 4.0

2009-07-28 17:17:19

ASP.NET概述

2009-07-23 15:44:39

ASP.NET MVC
點贊
收藏

51CTO技術(shù)棧公眾號