一种是使用FilterAttribute 将数据放入到ViewData中,然后在Controller中添加Filter来实现。
另一中是用一个ControllerBase来继承自Controller后,在ControllerBase中将数据放入到ViewData中。
然后其他的Controller继承自自定义的ControllerBase
MVC、MVP、MVVM这些模式是为了解决开发过程中的实际问题而提出来的,目前作为主流的几种架构模式而被广泛使用。一、MVC(Model-View-Controller)
MVC是比较直观的架构模式,用户 *** 作->View(负责接收用户的输入 *** 作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View)。
MVC使用非常广泛,比如JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View, STL)-Spring(Controller, Ioc、Spring MVC)-Hibernate(Model, ORM)以及ASP.NET中的ASP.NET MVC框架,xxx.cshtml-xxxcontroller-xxxmodel。(实际上后端开发过程中是v-c-m-c-v,v和m并没有关系,下图仅代表经典的mvc模型)
二、MVP(Model-View-Presenter)
MVP是把MVC中的Controller换成了Presenter(呈现),目的就是为了完全切断View跟Model之间的联系,由Presenter充当桥梁,做到View-Model之间通信的完全隔离。
.NET程序员熟知的ASP.NET webform、winform基于事件驱动的开发技术就是使用的MVP模式。控件组成的页面充当View,实体数据库 *** 作充当Model,而View和Model之间的控件数据绑定 *** 作则属于Presenter。控件事件的处理可以通过自定义的IView接口实现,而View和IView都将对Presenter负责。
三、MVVM(Model-View-ViewModel)
如果说MVP是对MVC的进一步改进,那么MVVM则是思想的完全变革。它是将逗数据模型数据双向绑定地的思想作为核心,因此在View和Model之间没有联系,通过ViewModel进行交互,而且Model和ViewModel之间的交互是双向的,因此视图的数据的变化会同时修改数据源,而数据源数据的变化也会立即反应到View上。
这方面典型的应用有.NET的WPF,js框架Knockout、AngularJS等。
参考资料:
数据库中有若干张表。每张表都有若干字段,每个字段都有字段名称,类型,是否为空等等。Model是C#的类。 每一个Model表示一张数据库表的结构,用来存储从数据库中返回的数据。
比如,现在有一张表,表名为:MyTable . 有2个字段 : id 数字类型 ,myname 字符型。
那么,就得为这个表新建一个Model,为了好区别,命名为 MyTableModel.cs
对应数据库字段的变量2个: public decimal Idpublic string MyName
至于数据库连接, EF、oledb、oracleclient等等手段,入门必备,我就不说了。
除了EF等框架外, 用Sql语句查询出来的,大部分都是 DataTable 或者DS 返回值。
这时候就需要将返回的DataTable,转化成List<MyTableModel>这样的类型。
(吐槽下:一个项目Entity Framework 用久了很折磨人。。。)
当然,中间很多工具或框架可以自动处理。用的多了,就知道了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)