本文首发于我的新浪博客http://blog.sina.com.cn/s/blog_4c59c08a0100es79.html
CSDN博客也已发表。
两个星期前SMS短信平台项目就已经测试完毕,经历了最后一次更新和测试之后已经投入使用了。紧接着,也就是前一个星期,我们很快又进入了另一个项目——上海复旦大学一博导接的一个项目,DDPS(光盘直接打印系统)。因为这位博导一个人开发不能保证项目准时上线,所以就外包给我们公司了。这个系统用的是MVC模式,数据处理用的是LINQ to SQL。LINQ我们已经在短信平台项目中使用过了,只要SQL的基础不差,一般人都能快速熟悉,这次的挑战主要是MVC模式。
在备考软考的时候,我就了解了MVC的概念,即Model-View-Control。后来还进一步了解到它是属于表现层(UI)的模式,与我们之前项目中用到的三层架构不是一回事。接触DDPS项目之前,经理召集我们开了个会,告诉我们不要再去找MVC的资料系统学习,而是遇到问题之后再去找资料学习……我并没有严格地按他说的来做,而是在博客园上找得到了一套精简的主题为“从零开始学习MVC”的教程,快速的理解了MVC中URL请求、Controler/Action、Model、View之间的关系、工作机制,MVC中的常用方法等,从代码实例中快速学习了MVC。
凭着对MVC工作机制的准确理解,以及平时在学校练就的搜索资料的能力(这要感谢李胜老师),我负责的Linq动态查询、Html.DropDownList动态绑定,数据分页部分,最后都成功完成了。那个“Html.DropDownList的动态绑定”,在国内就只找到一篇相关文章……,有时间我会在我的博客中整理一篇文章介绍一下。
在团队中我还协助其他队友迅速进入了状态,不过这次我负责的部分,技术方面没多少难点,难点主要是对MVC的准确理解。而别人负责的“在线支付”、“光盘图案打印”、“发送邮件激活账号”,“验证码”等才是我比较倾心的,虽然在设计过程中我和他们交流过,但并不是我身体力行过的,还是有些遗憾……
这个项目不愧是博导设计的,里面面向对象的程序写的相当漂亮,很多地方都值得学习。当然,也有不足的地方,就是系统中的数据都是从Model中取到UserService类中然后供相应的Cotroler中的Action调用的。一个UserService文件,很多页面的Action都会用到里面的方法,团队开发很不方便,我只得弄个脱离源代码管理器的副本在本地测试好之后粘贴到UserService再签入……不过,微软的MVC1.0今年4月才发布,这位博导就应用了,还说自己没把科技转换成生产力,实在太谦虚了……
这个系统是我做的项目中让我感觉最吃力的,难怪别人说MVC让ASP.NET回到了ASP时代,因为MVC项目里,工具箱中拖的控件是用不了的……很多代码都要手写。这点虽然与BoBo社区项目要求用AJAX无刷新技术,杜绝用服务器控件有点类似,但这个项目却比多层架构的BoBo项目难多了。当然,现在我们已经熟悉这个系统了,对MVC也不再陌生了,加之那位牛叉的博导已经完成了这个项目的部分功能,之后的开发不会再有大的难点了。
参与这个项目的前几天是最难熬的,每天都在查资料和摸索, F9、F5、F11成了常用键……,很多地方都是反复单步调试,遇到有疑问的地方查找资料仔细研究才完成的……
上个星期主要是修复上周六测试出的项目中一些不完善的地方。终于我也接到了比较有挑战性的任务——循环链验证、上传图片处理等。JAVA组已经派了一部分人来测试这个项目,这个星期估计主要是修复项目中存在的一些BUG,实现新的需求。做完这个项目希望我们能有时间梳理一下MVC的相关知识,继续加强对OOP、XML、CSS、JavaScript以及框架,设计模式等的学习,积累自己的解决问题的方法论,不断的迭代,去拓展和深入。

转载于:https://blog.51cto.com/xuezhide/190024

ASP.NET MVC初体验相关推荐

  1. ASP.NET MVC Framework体验(1):从一个简单实例开始

    概述 12月10日微软发布了ASP.NET 3.5扩展的预览版,在其中包括了ASP.NET MVC Framework.ASP.NET AJAX改进.ASP.NET动态数据支持.ASP.NET SIl ...

  2. ASP.NET MVC Framework体验(2):显示列表数据

    概述 ASP.NET WebForm下,显示列表数据,经常会使用服务器控件GridView.DataList等.在ASP.NET MVC Framework中,我们有两种方式进行显示数据,一是使用行内 ...

  3. Pro ASP.NET MVC 3 Framework 译文(一)

    ASP.NET MVC3简介 2011年10月22日 12:49 对于使用微软平台的开发人员来说,ASP.NET MVC框架有了一个根本的转变.它强调"干净的"体系.设计模式.可测 ...

  4. 一起谈.NET技术,ASP.NET MVC 3 Beta初体验之超酷的Chart

    前面一篇文章:ASP.NET MVC 3 Beta初体验之WebGrid介绍了WebGrid控件的使用,ASP.NET MVC 3 Beta中才内置Chart的.这篇文章中将介绍Chart的使用.包括 ...

  5. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  6. 95后实习生的远程办公体验(asp.net mvc\C#技术栈)

    这个月我们做了一件别人看起来很疯狂的事情,就是让一批95后的实习生实行远程办公,效果还不错,于是写此文总结一下. 其实认真算算,我自己的远程工作经验有十年了吧,在北京工作的时候天气不好就申请在家办公, ...

  7. [导入]体验Asp.Net Mvc Preview5(3)-探索ModelBinder的工作原理

    摘要: 在前面的两篇文章中,我们研究了Asp.Net Mvc Preview5的ViewEingine的改进,从本篇开始,我们开始研究Preview5中的新特性:ModelBinder,首先我们来了解 ...

  8. .NET WebSocket 核心原理初体验

    上个月我写了<.NET gRPC核心功能初体验>, 里面使用gRPC双向流做了一个打乒乓球的Demo, [实时][双向]这两个标签是不是很熟悉,对, WebSockets也可以做实时双向通 ...

  9. MVC 各种传值方式 ASP.NET MVC view与controller传值方式

    MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index() {       ViewData["T ...

最新文章

  1. ASP.NET强大的性能
  2. 伪激光雷达:无人驾驶的立体视觉
  3. 深入TextCNN(一)详述CNN及TextCNN原理 - 知乎 (zhihu.com)
  4. 初学python还是swift-iOS 将来 Swift 也许会取代 Python
  5. C语言程序设计做题笔记之C语言基础知识(下)
  6. windows2003的一些设置之一
  7. dinic (最大流) 算法 讲解
  8. html炫酷在线,小伙伴们都会惊呆的10个超炫的HTML5+CSS3效果作品
  9. 说一下StoreBoard和纯代码编程各有什么好处吧
  10. oracle导入中文数据出现乱码
  11. iscroll的使用
  12. 【腾讯Bugly干货分享】彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
  13. java 中webservice
  14. 关于TcpClient,Socket连接超时的几种处理方法
  15. led伏安特性实验误差分析_伏安法测量误差分析-北京新东方
  16. 华为云数据迁移工具解决方案:腾讯云迁移到华为云
  17. [473]tf.nn.*()函数and tf.add()函数
  18. android版本5.1下载,嘉兴禾点点下载-禾点点 安卓版v5.1.1-PC6安卓网
  19. 深度学习的发展历史是什么?
  20. ipad触摸测试软件,平板电脑屏幕灵敏度测试:iPad系列最出色

热门文章

  1. 查一个字段中字符集超过30的列_Mysql 的字符集以及带来的一点存储影响
  2. java 多个队列处理_加入多处理队列需要很长时间
  3. java数据库打包_java程序需要连接数据库 如何打包
  4. html数据摘要算法,Hash函数和消息摘要算法(示例代码)
  5. c语言制作贪吃小白入门,小白入门——easyx界面版“贪吃蛇”的C语言实现(详细)...
  6. oracle视图用法,oracle视图大全
  7. idea 拉取gitlab分支项目_如何删除gitlab上的文件夹?
  8. 二叉搜索树的删除_LeetCode109.有序链表转换二叉搜索树
  9. python的抽象类详解_第7.19节 Python中的抽象类详解:abstractmethod、abc与真实子类...
  10. MySQL外键没作用_MySQL 外键索引不生效