国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

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

2024-07-10 13:30:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本文主要介紹NopCommerce中在請(qǐng)求Controller的Action方法前,通過(guò)ModelBinder將Model進(jìn)行綁定,以便后續(xù)捕捉到數(shù)據(jù),轉(zhuǎn)化成對(duì)象,再進(jìn)行處理。
 

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

在系統(tǒng)啟動(dò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è)接口,并沒(méi)有使用。主要是繼承父類的方法,稍有改變的地方是:方法BindModel添加了對(duì)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è)過(guò)濾方法,只是此方法尚未啟用。

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



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到ASP.NET教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 马边| 兴安县| 龙岩市| 宿迁市| 滦平县| 禹州市| 青神县| 清苑县| 舒城县| 鄂托克前旗| 纳雍县| 保山市| 白城市| 鸡西市| 樟树市| 衡南县| 德清县| 九寨沟县| 中宁县| 泸水县| 颍上县| 宣汉县| 南涧| 原阳县| 海原县| 洱源县| 安宁市| 高台县| 怀柔区| 印江| 马山县| 旌德县| 威宁| 江山市| 金阳县| 牙克石市| 酒泉市| 兴业县| 义马市| 屯门区| 舟曲县|