学习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来说还是陌生,只在不断学习,练习,才能有进步。另外多希望网友更多的指点,感谢了。

转载于:https://www.cnblogs.com/insus/p/3369870.html

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

  1. python3.7下载教程视频_视频 | 我选择Python3.7来学习!顺便把教程分享给大家

    原标题:视频 | 我选择Python3.7来学习!顺便把教程分享给大家 [文章正文] Python 3.7增添了众多新的类,可用于数据处理.针对脚本编译和垃圾收集的优化以及更快的异步I/O. Pyth ...

  2. linux c语言常见面试题及答案,Linux下C语言的几道经典面试题小结(分享)

    Linux下C语言的几道经典面试题小结(分享) 本篇文章整理了几道Linux下C语言的经典面试题,相信对大家更好的理解Linux下的C语言会有很大的帮助,欢迎大家探讨指正. 1.如果在Linux下使用 ...

  3. TensorFlow贡献者黄文坚:解读对比13个深度学习框架后的选择

    [AI创新者]TensorFlow贡献者黄文坚:解读对比13个深度学习框架后的选择 AI创新者 Google 人工智能 深度学习 TensorFlow 阅读5774  [AI创新者]是CSDN人工智能 ...

  4. 白话学习MVC(七)Action的执行一

    一.概述 在此系列开篇的时候介绍了MVC的生命周期 , 对于请求的处理,都是将相应的类的方法注册到HttpApplication事件中,通过事件的依次执行从而完成对请求的处理.对于MVC来说,请求是先 ...

  5. 学习MVC之租房网站(二)-框架搭建及准备工作

    在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的"双层"架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和Fr ...

  6. 学习Python后能找什么工作

    想学习Python的小伙伴们,肯定听到非常多关于Python就业方向非常广泛的话题.那到底学习完成后,能够从事哪些方面的工作呢?具体相关Python的工作岗位有哪些呢?带着问题我们一起深入了解一下Py ...

  7. 深度linux夜间模式,更新Deepin 15.9.3系统后无法自动调节色温的解决方法

    如果你在更新Deepin 15.9.3系统后开启自动调节色温不管用,其实该功能非常实用,尤其是在晚上的时候能有暖色彩,非常的暖眼,建议看岂止于iPhone,Linux中的f.lux也支持Night S ...

  8. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  9. 基于迁移学习的语义分割算法分享与代码复现

    摘要:语义分割的数据集是比较大的,因此训练的时候需要非常强大的硬件支持. 本文分享自华为云社区<[云驻共创]基于迁移学习的语义分割算法分享>,原文作者:启明. 此篇文章是分享两篇基于迁移学 ...

最新文章

  1. AAAI 2021最佳论文奖出炉
  2. android backlight
  3. 人工智能的两条进化路线
  4. 在Eclipse中使用JUnit4进行单元测试(中级篇)
  5. 1 用存储过程实现分页,除了上一页,下一页,第一页,和末页外还要有go按钮,以及go到那里的文本框。另外还要在Lable显示“当前x页,一共y页”。注意验证控件的使用和 链接存储过程的内容。...
  6. 引用管理器没有程序集_程序员必背英语单词不会,就别说你是程序员!
  7. 计算机驱动伺服的程序,伺服调试软件V-ASSISTANT始终找不到驱动-工业支持中心-西门子中国...
  8. db2 导出换行_数据库 db2 换行符
  9. oracle分区键使用大于小于会失效吗_大规模使用 Apache Kafka 的20个最佳实践
  10. Java HttpUtils 请求工具类
  11. Ribbon界面开发
  12. matlab 病态方程组,超定方程组与欠定方程组(病态方程组)
  13. 物联网技能大赛-Ubuntu-(1)
  14. 【Verilog学习笔记】D触发器(门级和行为级)+4位寄存器+一个完整的激励程序
  15. 实时传输协议:RTP、RTCP、RTSP介绍
  16. opengles for iOS
  17. 黑马编程开发各种免费资源-安排一下
  18. 基于MT6572/32平台 Android 版本驱动移植日志
  19. 错误解决——浏览器可以正常上网,但是QQ,微信登不了
  20. java 水印字体 斜_斜水印,重复水印,文字

热门文章

  1. python中属于无序序列的有_Python字典和集合属于无序序列。(2.0分)_学小易找答案...
  2. lastinsertid mysql_mysql错误,帮忙看看
  3. 单片机串口实现字符串命令解析
  4. Shiro——从零开始进行详解官方入门案例
  5. retinanet网络模型结构
  6. 【转】windows多线程CreateThread与_beginthreadex本质区别
  7. 一行代码就能解决微服务分布式事务问题,你知道GTS怎么做到的吗?
  8. Go(4 [Map])
  9. CentOS7--IP配置与网络问题排查
  10. 分布式消息中间件中的一些概念(接上一篇的《什么是分布式消息中间件?》)...