15天学习MVC后的小结(分享经历与想法)

学习MVC已经有半个月,看了看日历,刚好半个月。分享了好几篇练习的博文:
一,《创建第一个MVC应用程序》 http://www.cnblogs.com/insus/p/3358560.html
二,《@Styles的nameSpace是什么http://www.cnblogs.com/insus/p/3358703.html
三,《MVC应用程序使用Entity Frameworkhttp://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 Frameworkhttp://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来说还是陌生,只在不断学习,练习,才能有进步。另外多希望网友更多的指点,感谢了。

15天学习MVC后的小结(分享经历与想法)

时间: 2024-10-13 07:33:12

15天学习MVC后的小结(分享经历与想法)的相关文章

【UI插件】简单的日历插件(下)—— 学习MVC思想

前言 我们上次写了一个简单的日历插件,但是只是一个半成品,而且做完后发现一些问题,于是我们今天尝试来解决这些问题 PS:距离上次貌似很久了 上次,我们大概遇到哪些问题呢: ① 既然想做一套UI库,那么就应该考虑其它UI库的接入问题 这个意思就是,我们的系统中所有UI插件应该有一些统一行为,我们如果希望统一为所有的插件加一点什么东西,需要有位置可加 这个意味着,可能我们所有的插件需要继承至一个抽象的UI类,并且该类提供了通用的几个事件点 ② 上次做的日历插件虽然说是简单,其耦合还是比较严重的(其实

ASP.NET MVC升级到ASP.NET Core MVC踩坑小结

原文:ASP.NET MVC升级到ASP.NET Core MVC踩坑小结 写在前面 ASP.NET Core是微软新推出的支持跨平台.高性能.开源的开发框架,它的优势不必多说,因为已经说得太多了.当然,现在依然有着数量庞大的系统运行于.NET Framework上,由于有大量的Break Changes,很多项目项目团队也不敢贸然升级,其中的考量也不全部是技术原因,更多的可能还是业务推进因素. 小编自年前开始考虑升级一套电商系统,原先是基于.NET Framework 4.5的,打算直接升级到

学习MVC之租房网站(八)- 前台注册和登录

在上一篇<学习MVC之租房网站(七)-房源管理和配图上传>完成了在后台新增.编辑房源信息以及上传房源配图的功能.到此后台开发便告一段落了,开始实现前台的功能,也是从用户的登录.注册开始. 前台模板使用MUI,一套用于手机端的HTML5模板,但开发期间仍然使用Chrome.FireFox等PC浏览器. 一 注册 注册要求用户输入手机号密码等信息 a) 注册的处理过程为:用户输入手机号后,给手机发送验证码,用户提供收到的验证码以及密码.确认密码,随后便可以点击注册,在浏览器进行简单的有效性校验后,

学习MVC之租房网站(三)-编写实体类并创建数据库

在上一篇<学习MVC之租房网站(二)-框架搭建及准备工作>中,搭建好了项目框架,并配置了EF.Log4Net和进程外Session.接下来会编写Eneity类并采用CodeFirst的方式创建数据库. 一.数据库表结构举例 1. 在按照CodeFirst方式编写Entity类之前,仍然是需要先搞清楚数据库的表结构.首先肯定会有用户.管理员.角色.权限等相关的表,然后针对租房的特殊场景,还有房屋.房屋家电配置.房子所在的地址包括城市和区域等. 2. 这里面有两张表比较特殊,T_Settings和

学习MVC之租房网站(十二)-缓存和静态页面

在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和页面静态化. 使用缓存可以降低数据库的压力,而使用页面静态化则可以降低Web服务器的压力. 一 缓存 ASP.NET下可用的缓存为System.Web.Caching.Cache,保存在服务器内存中,不适用于服务器集群,虽然也用没用过集群,但现在的主流都使用NoSQL数据库来做缓存,典型的有Redis和Mem

学习MVC之租房网站(九)-房源显示和搜索

在上一篇<学习MVC之租房网站(八)- 前台注册和登录>完成了前台用户的注册.登录.重置密码等功能,然后要实现与业务相关的功能,包括房源的显示.检索等. 一 房源显示 房源显示内容较多,涉及到的有House.Attachment.HousePic,处理的信息包括房屋类型.朝向.楼层.装修状态.家具等. 这里显示的房源是通过后台的房源管理维护的,后台添加房源时会上传图片.使用UEditor编辑文本,前台显示房源时也要把图片和富文本显示出来.在前台使用后台上传的图片是个问题:UEditor产生的富

学习MVC之租房网站(四)-实现Service层并进行单元测试

在上一篇<学习MVC之租房网站(三)-编写Eneity类并创建数据库>中,记录了编写Eneity类并采用CodeFirst的方式创建数据库的过程,接下来就到了Service层的实现了,并且在开始后续工作前,首先进行充分的单元测试. 长久以来,一直为写出很多bug而苦恼,这儿用过单元测试后,惊喜地发现,这不正是保证代码质量的好方法嘛,虽然会耗费额外的时间,但决定以后要把单元测试运用到工作和学习的实践中. 一.实现Service层 1. 为了减少模块.层之间的耦合,在Service层上面增加了IS

学习MVC之租房网站(一)-项目概况

这儿的MVC是ASP.NET MVC,只用过C#一种语言,后面就直接称呼为MVC了. 一年多没接触MVC后,现在想用MVC做个网站,觉得特别吃力,以前学的仅仅是皮毛,所以闲置了一年后,MVC知识就重新归零了. 这几周学习MVC的过程中,博客园葡萄城的MVC汇总资源给了我很大的帮助(http://www.cnblogs.com/powertoolsteam/archive/2015/08/13/4667892.html),尤其是"ASP.NET MVC 音乐商店"系列教程,学完音乐商店后

一起学习MVC(2)Global.asax的学习

在Global.asax.cs文件中? ? ? ? protected void Application_BeginRequest(Object sender, EventArgs e)? {? ?? Application["StartTime"] = System.DateTime.Now;? }? ? ? ? 再在webform1中的page_load事件中添加? private void Page_Load(object sender, System.EventArgs e)?