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,只是尚未发现有子类实现此方法。
相关文章
在ASP.NET 2.0中操作数据之二十九:用DataList和Repeater来显示数据
本文主要讲解ASP.NET 2.0中如何使用DataList 和 Repeater 来呈现数据,DataList包含一个table标记,而Repeater不会添加任何额外的代码,个人在实际开发中更推荐使用Repeater。2016-05-05在ASP.NET 2.0中操作数据之五十五:编辑和删除现有的二进制数据
前面几节我们讲解了ASP.NET中如何上传显示二进制图片数据,这一节我们来介绍一下如何在GridView编辑和删除已经存在的二进制数据。2016-05-05.NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法
.NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法...2007-12-12在ASP.NET 2.0中操作数据之三十一:使用DataList来一行显示多条记录
ASP.NET 2.0中DataList默认情况使用单列多行的table来显示项,本文介绍通过设置RepeatColumns属性为每行的列数就可以达到显示多条记录这个目的。2016-05-05在ASP.NET 2.0中操作数据之三十九:在DataList的编辑界面里添加验证控件
为了防止用户非法的输入,这节主要介绍如何在编辑数据的时候添加验证控件,以避免出现异常和保证数据的完整性。2016-05-05在ASP.NET 2.0中操作数据之二十二:为删除数据添加客户端确认
本文主要介绍ASP.NET 2.0中利用JavaScript在删除按钮的客户端onclick事件(在ASP.NET中是OnClientClick)中调用confirm(string)方法,从而显示一个确认窗口,根据窗口的返回值执行不同的操作。2016-05-05
最新评论