学习MVC已经有半个月,看了看日历,刚好半个月。分享了好几篇练习的博文:
一,《》 二,《》三,《》四,《》五,《》六,《》七,《》八,《》九,《》十,《》十一,《》入门,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来说还是陌生,只在不断学习,练习,才能有进步。另外多希望网友更多的指点,感谢了。