NopCommerce架构分析之(五)Model绑定Action参数
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,只是尚未发现有子类实现此方法。
相关文章
ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXml
ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别...2006-10-10
在ASP.NET 2.0中操作数据之十五:在GridView的页脚中显示统计信息
本文主要介绍在GridView中显示页脚的实现方法,通过设置ShowFooter设置为True,再配合事件和底层的方法从而实现在GridView的页脚区域显示相关的统计信息。2016-05-05
在ASP.NET 2.0中操作数据之三十:格式化DataList和Repeater的数据
本文主要介绍ASP.NET 2.0使用DataList和Repeater如何呈现数据,一种是在控件的ItemDataBound事件中处理,一种则是在绑定数据时调用后台定义的方法来实现。2016-05-05
在ASP.NET 2.0中操作数据之四十七:用SqlDataSource控件插入、更新、删除数据
本文主要介绍使用SqlDataSource控件完成插入、更新、删除数据等操作,通过设置向导,SqlDataSource控件的InsertCommand, UpdateCommand和DeleteCommand属性都会被赋以相应的 INSERT, UPDATE和DELETE SQL语句,从而实现相应的操作。2016-05-05
在ASP.NET 2.0中操作数据之三十七:DataList批量更新
上篇文章我们实现了DataList单条记录编辑的功能,数据量小的时候这种方法还好,如果数据量大我们更希望一次可以更新多条记录,接下来就让我们看看DataList如何实现批量更新吧。2016-05-05
在Linux+Jexus中发布和部署Asp.Net Core
这篇文章介绍了在Linux+Jexus中发布和部署Asp.Net Core,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-12-12
在ASP.NET 2.0中操作数据之五十四:添加新记录时包含一个文件上传选项
上篇文章主要介绍了,ASP.NET 2.0中如何显示二进制数据,本文主要介绍如何将图片上传,转换成二进制数据保存在数据库中。2016-05-05


最新评论