首页 > 代码库 > 15天学习MVC后的小结(分享经历与想法)
15天学习MVC后的小结(分享经历与想法)
学习MVC已经有半个月,看了看日历,刚好半个月。分享了好几篇练习的博文:
一,《创建第一个MVC应用程序》 http://www.cnblogs.com/insus/p/3358560.html
二,《@Styles的nameSpace是什么》http://www.cnblogs.com/insus/p/3358703.html
三,《MVC应用程序使用Entity Framework》http://www.cnblogs.com/insus/p/3359111.html
四,《MVC bundle(包扎)CSS或是JS文件》http://www.cnblogs.com/insus/p/3360918.html
五,《DataTable数据显示于MVC应用程序》http://www.cnblogs.com/insus/p/3361182.html
六,《MVC用非Entity Framework将数据显示于视图》http://www.cnblogs.com/insus/p/3364235.html
七,《MVC用非Entity Framework将数据显示于视图(二)》http://www.cnblogs.com/insus/p/3364482.html
八,《MVC显示详细记录Without Entity Framework》http://www.cnblogs.com/insus/p/3366608.html
九,《MVC添加数据并存入数据库》http://www.cnblogs.com/insus/p/3367244.html
十,《MVC实现删除数据库记录》http://www.cnblogs.com/insus/p/3368042.html
十一,《MVC实现更新数据库的数据》http://www.cnblogs.com/insus/p/3369609.html
入门,Insus.NET照自己的学习理解水平,也只能写些入门的练习了以增强对自己的信心还是最重要的。
看微软官方网站的英文版文章,需要准备好翻译软件,在安装好的visual stuidio 上照与练习。
听微软官方推存的视频,听不懂不要紧,还是要看完整个视频的操作步骤。
看书,是一种学习不错方法,中文翻译的书,看了一遍。了解到asp.net与MVC之间的不同,可从差异与对比中学习到MVC原理与改变。 另外还可以了解到C#语言的一些设计模式还可以应用于MVC上,这让Insus.NET在做练习时,还用得上以前在asp.net写的访问数据的物件。
为了学习到更多的知识,尝试从创建一个空的MVC应用程序开始,最好再创建一个Internet的MVC的应用程序。练习中当然是在空的应用程序进行,这样的开始是相当困难,不过当你的经历过一段时间回过头来看,进步是可想而知。为什么还要创建一个Internet的非空MVC应用程序呢,是为了学习网上的教程,视频的练习,这是小事,最主要是用来要练习时遇上问题时,能在其中快速找到方法。
比如在上面的博文列表中的第二篇,遇了一个命名空间的问题,就是从两个应用程对比中,知道它的命名空间是在System.Web.Optimization之下。还有第三篇也是如此,在建立空的应用程序中,想法去使用DbContext,也遇上引对物件和命名空间相同问题,最后还靠对比中找到解决的方法。在经过看网文,看听视频,然后练习,遇上问题时,一定会想,怎会别人的可行,自己在进行时,就是遇上这,遇上那的问题,通过对比,就知道自己写多了哪些,写少了哪些。一定能学到更多的知识。
练习到第四篇时,知道在MVC应用程序,不必在第一个网页中<head>节点,引用所有外部的css或理js文件,使用BundleConfig配置文件来能够解决,通过Global.asax的Application_Start()事件注册,这样程序一开始,就进行绑定了。
接触MVC之后,还是学习另外一种Razor的@Helper语法。
Insus.NET学习MVC之后,第一个想法,就是想法数据库的数据显示于网页上。在第五篇中已经做了尝试,应用了以前asp.net应用的组件。在控制器中,把数据库的数据返回一个DataTable并传入至View()中。这个练习中,可说是花上不少时间,因为需要Razor的语法。引用@model System.Data.DataTable之后,可以使用@foreach对DataTable循环了。呵呵,如果是在asp.net下的话,Insus.NET会直接使用Repeater控件,轻松实现,不过现在是MVC的年代,当然是随乡入俗了。
在这半个月的学习中,看到的最多的还是Entity Framework。它的功能强大给我们带来很多简捷的效率。不过对Insus.NET来说,觉得不必需要花更多时间来学习它。使用了似乎有点被束缚的感觉。不过只是暂时的想法。因此产生了上面博文的列中的第六第七篇。不使用Entity Framework来与数据库交互,如今想起来,又有点得与失的触动,看自己的想法与行动了。
接下来的几篇练习也是将没有使用Entity Framework。Insus.NET演示了显示某一笔记录的详细信息,往数据添加数据,更新以及删除数据等一系列MVC的博文。
写此篇小结时,发现了一小问题,如第八篇它是显示一笔记录,但Insus.NET却是@model IEnumerable<FruitCategory>。因此Insus.NET在此重构并更正它,修改controller:
Comment out原来的Action,重写另外一个(参考上图2)。然后去修改Details.cshtml视图,分四步来修改:
第十篇删除功能也是如此,不必在Delete.cshtml视图中记录@foreach,现Insus.NET修改与重构如下,先是修心Controllers:
然后修改Delete.cshtml视图:
最后Insus.NET想说的,由于MVC对于Insus.NET来说还是陌生,只在不断学习,练习,才能有进步。另外多希望网友更多的指点,感谢了。