NopCommerce架构分析之(五)Model绑定Action参数

作者:WalsonTung 时间:2024-06-05 09:26:43 

asp.net MVC中Action参数不只是一些基本类型,也支持实体参数。那么从客户端传来的数据如何映射或转换成实体对象呢?就是通过实体绑定类ModelBinder。此系列类在请求转化为后台Controller的Action方法前,捕获传递过来的数据,并对其进行解析和转换,最终为实体类对象。

在系统启动前,Global.asax.cs中的方法Application_Start方法调用下面代码定义参数转换规则。


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

NopModelBinder继承DefaultModelBinder承担系统的实体绑定类,但好像只是留一个接口,并没有使用。主要是继承父类的方法,稍有改变的地方是:方法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添加了一个过滤方法,只是此方法尚未启用。

类BaseNopModel是所有Model的基类,支持对自定义属性的存储。并且有一个绑定到解析器的方法BindModel,只是尚未发现有子类实现此方法。

标签:NopCommerce,Model,Action
0
投稿

猜你喜欢

  • 在SQL Server 2008中安装安全审计

    2009-02-24 17:22:00
  • 在VS2019环境下使用Opencv调用GPU版本YOLOv4算法的详细过程

    2023-05-12 10:50:46
  • JavaScript中自带的 reduce()方法使用示例详解

    2024-02-24 09:37:11
  • Python计算矩阵的和积的实例详解

    2021-06-06 10:09:34
  • SQL Server 数据库索引其索引的小技巧

    2024-01-21 03:13:40
  • Mootools 1.2教程(10)——Fx.Tween的使用

    2008-12-02 18:03:00
  • 通过实例简单了解Python中yield的作用

    2023-03-10 11:23:17
  • Python 获取指定文件夹下的目录和文件的实现

    2023-12-23 22:44:29
  • 批处理写的 oracle 数据库备份还原工具

    2024-01-25 06:32:27
  • python绘制汉诺塔

    2023-07-09 23:13:19
  • 解决Python下json.loads()中文字符出错的问题

    2022-06-17 21:16:52
  • 如何配置一个稳定的SQL Server数据库

    2008-12-09 14:07:00
  • python画图常规设置方式

    2023-11-25 03:52:04
  • Python中标准库OS的常用方法总结大全

    2021-04-29 06:43:41
  • Django+zTree构建组织架构树的方法

    2023-08-13 06:17:54
  • mysql 查询数据库中的存储过程与函数的语句

    2024-01-26 17:30:35
  • golang时间/时间戳的获取与转换实例代码

    2023-09-02 06:04:43
  • MYSQL中Truncate的用法详解

    2024-01-17 12:00:09
  • Numpy中Meshgrid函数基本用法及2种应用场景

    2023-05-11 20:13:21
  • Python Flask框架开发之运用SocketIO实现WebSSH方法详解

    2021-11-06 01:03:33
  • asp之家 网络编程 m.aspxhome.com