最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NopCommerce架構(gòu)分析之(五)Model綁定Action參數(shù)

 更新時(shí)間:2016年04月07日 10:47:10   作者:WalsonTung  
本文主要介紹NopCommerce中在請求Controller的Action方法前,通過ModelBinder將Model進(jìn)行綁定,以便后續(xù)捕捉到數(shù)據(jù),轉(zhuǎn)化成對象,再進(jìn)行處理。

asp.net MVC中Action參數(shù)不只是一些基本類型,也支持實(shí)體參數(shù)。那么從客戶端傳來的數(shù)據(jù)如何映射或轉(zhuǎn)換成實(shí)體對象呢?就是通過實(shí)體綁定類ModelBinder。此系列類在請求轉(zhuǎn)化為后臺Controller的Action方法前,捕獲傳遞過來的數(shù)據(jù),并對其進(jìn)行解析和轉(zhuǎn)換,最終為實(shí)體類對象。

在系統(tǒng)啟動前,Global.asax.cs中的方法Application_Start方法調(diào)用下面代碼定義參數(shù)轉(zhuǎn)換規(guī)則。

//model binders 
ModelBinders.Binders.Add(typeof(BaseNopModel), new NopModelBinder()); 

NopModelBinder繼承DefaultModelBinder承擔(dān)系統(tǒng)的實(shí)體綁定類,但好像只是留一個(gè)接口,并沒有使用。主要是繼承父類的方法,稍有改變的地方是:方法BindModel添加了對NopModel的綁定支持。

public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) 
{ 
 var model = base.BindModel(controllerContext, bindingContext); 
 if (model is BaseNopModel) ((BaseNopModel) model).BindModel(controllerContext, bindingContext); 
 return model; 
}

方法GetModelProperties添加了一個(gè)過濾方法,只是此方法尚未啟用。

類BaseNopModel是所有Model的基類,支持對自定義屬性的存儲。并且有一個(gè)綁定到解析器的方法BindModel,只是尚未發(fā)現(xiàn)有子類實(shí)現(xiàn)此方法。

相關(guān)文章

最新評論

平昌县| 凤冈县| 长泰县| 冀州市| 海安县| 建平县| 阜南县| 河曲县| 蕲春县| 德令哈市| 武定县| 武功县| 论坛| 梁平县| 都兰县| 凤阳县| 开远市| 乳源| 武陟县| 犍为县| 汉阴县| 崇礼县| 政和县| 凤城市| 洪洞县| 黄陵县| 商河县| 新田县| 绥滨县| 泰州市| 祁门县| 元江| 连南| 普宁市| 北京市| 盘山县| 合川市| 漳浦县| 浦江县| 舒城县| 龙口市|