又历经一个多月的努力,学校的一个校友平台项目也接近内测的尾声了,简单的总结一下这次的项目开发。

   与上次做Wing工作室的门户网站相比,同样是团队开发,参与的人员多了一个,用的时间也差不多一个月,但从总体做的情况来看,这次比上一次要做的好得多(不论是页面的样式还是后台的模块化封装),这是进步也是必然,这次自己的任务仍旧是负责后台以及后台与前台的拼接。

   总的来说,用ASP.NET MVC开发网站的效率是相当高的(而且也相当的好部署),特别是针对后台的开发,只要前期对页面的功能分析到位,立马就可以开始进行数据库的设计以及后台代码的初步实现(后台与前台可以不同步,这就是MVC开发的魅力所在)。而这个校友平台的所有后台功能实现(包括数据库设计与后台所有逻辑控制)只用了一周,而花时间最多的仍旧是后台与前台的拼接(毕竟是多个人写的,整合起来是有点麻烦),用了十多天,然后再用了一周多的时间来不断改进与完善。

   能力提升的总结:

  (1)、这次开发最大的收获应该是接触与掌握了Ajax与Json的使用,学会了使用Json来进行前后台的数据传递,用Ajax解决局部刷新问题以及异步加载数据(特别是这对图片的加载,若是一次性加载完多张图片,网站会很卡很卡(工作室的门户网站的首页就是这个情况——后面会把这个问题解决),所以这个时候就可以考虑使用Ajax来实现数据缓存与异步加载)。

  (2)、由于做了很多页面的拼接,于是接触的前台的东西就不可能少,这次也进一步的深入了解了js、jQuery、html、css。

  (3)、又学会了几个前台组件的使用(瀑布流图片自动布局组件与prettyPhoto组件)以及组合使用。(或许有很多进行网站前端开发的人会对使用组件产生反感或不愿意,认为使用别人已经写好的组件对自身能力的提高没有很大的帮助。个人见解:使用组件不仅对于网站开发的效率有很大的提高,而且使得网站看起来更加高大上。而大部分认为使用组件没有多大能力提升的,是因为他/她们只是简单的调用了一下接口函数(这也是组件高度封装的一个必然结果)就实现了高大上的功能,对内部实现全然不知。而大多数情况,由于需求的变化多端,有的功能不是简单地调用一下接口函数就能很好的实现需求,这时就需要修改组件内部功能实现(然而有很多人在这一步的时候就放弃了或使用另外的组件),去定制自己的功能需求,若是能做到这一点,不论是对组件的掌握还是对自身能力的提高都有很大的帮助。我个人的学习之道之一:不会,就学;学不懂,就模仿;进而形成自己的东西。)

  (4)、进一步掌握了前台页面框架的修改。

  (5)、(针对不同浏览器以及同一浏览器的不同版本)对页面兼容性有了更进一步的认识,不仅仅标签、样式、属性的兼容性问题,还有js也会出现一定的兼容性问题。若是事先没有考虑到这个问题的话,后期改起来是相当令人头疼的事情。

  (6)、对使用ASP.NET MVC这个框架去开发网站有了更进一步的理解与掌握,开发的效率又进一步的提高了。

  (7)、对于安全性的检查(表单的合法验证等)有了更好地运用,三重验证:标签自身属性限制验证、js验证,后台数据验证。(简单的说一下:所有的前台验证都是可以绕过的(标签自身属性限制验证、js验证),所以最重要的是后台数据验证,但为了获得更好的用户体验以及效率,前台验证也是很有必要的。ASP.NET在安全性上有一点做的很好,就是默认过滤了很多非法标签的注入,这在很大程度上减轻了后台开发人员的负担)。

  总的来说,这次的团队合作开发网站项目,对于自身的前台和后台能力都有不同程度的提高。

  接下来的几篇博客会详细的谈一下一些具体的功能实现的实例。(比如说Ajax与Json的使用等等)

  <我的博客主页>:http://www.cnblogs.com/forcheng/

ASP.NET MVC 网站开发总结(四)——校友平台开发总结的更多相关文章

  1. 阿里云 Windows Server 2012 r2 部署asp.net mvc网站 平坑之旅

    做了多年的Web开发工作,网站部署也不在话下,可每次部署却并不是十分顺利,将本次在阿里云服务器上部署asp.net mvc网站遇到的问题记录如下. 平台是阿里云ECS,操作系统是 Windows Se ...

  2. ASP.NET MVC 网站开发总结(三) ——图片截图上传

    本着简洁直接,我们就直奔主题吧,这里需要使用到一个网页在线截图插件imgareaselect(请自行下载). 前台页面: <!DOCTYPE html> <html> < ...

  3. [译]MVC网站教程(四):MVC4网站中集成jqGrid表格插件(系列完结)

    目录 1.   介绍 2.   软件环境 3.   在运行示例代码之前(源代码 + 示例登陆帐号) 4.         jqGrid和AJAX 5.         GridSettings 6.  ...

  4. 总结一下ASP.NET MVC 网站的部署问题

    总结一下ASP.NET MVC 网站的部署问题 近日,准备把MVC建了一个新的测试站点部署到IIS上面,结果没想到出现了一系列的问题和错误,准备记录一下. 第一个问题,就是如何将MVC的站点部署到II ...

  5. Asp.net mvc 知多少(四)

    本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...

  6. ASP.NET MVC案例教程(四)

    ASP.NET MVC案例教程(四) 前言 通过前几篇文章,我们已经能比较自如的使用ASP.NET MVC来呈现页面和数据了.但是,有一个大问题没有解决:如何处理表单数据.例如,我们将要实现的公告发布 ...

  7. 【转载】Asp.Net MVC网站提交富文本HTML标签内容抛出异常

    今天开发一个ASP.NET MVC网站时,有个页面使用到了FCKEditor富文本编辑器,通过Post方式提交内容时候抛出异常,仔细分析后得出应该是服务器阻止了带有HTML标签内容的提交操作,ASP. ...

  8. 【转载】 Asp.Net MVC网站提交富文本HTML标签内容抛出异常

    今天开发一个ASP.NET MVC网站时,有个页面使用到了FCKEditor富文本编辑器,通过Post方式提交内容时候抛出异常,仔细分析后得出应该是服务器阻止了带有HTML标签内容的提交操作,ASP. ...

  9. 关于linux asp.net MVC网站中 httpHandlers配置无效的处理方法

    近期有Jexus用户反映,在Linux ASP.NET MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404( ...

  10. Asp.net MVC网站的基本结构

    Asp.net MVC网站的基本结构:Controller->IBLL(定义业务接口)->BLL->DA(调用Utility)->数据库 ,其中A->B表示A调用B 1. ...

随机推荐

  1. Android Studio2.x版本无法自动关联源码的解决方法

    Android Studio2.x版本无法自动关联源码的解决方法 在学习android开发过程中,对于一个不熟悉的类,阅读源码是一个很好的学习方式,使用andorid studio开发工具的SDK M ...

  2. Hibernate SQL实际sql语句监控- p6spy+hibernate+proxool 设置

    由于ORM工具的缘故,我们调试程序的时候远没有直接在程序里直接写个string的SQL简单,想当年查个sql是有多么的幸福,一行sql = "select * from ..."找 ...

  3. linux环境 c 中如何执行shell命令

    1 system 相当简单: int system(const char *command); system("ps -aux"); 2 popen popen有两个参数,第一个是 ...

  4. 使用EntityFramework的烦恼

    我有一个应用程序,是实现数据ETL同步的,即把数据从一个db里抽取出来,经过处理后,存储到另一个db里. O/RM采用的是EF db First. 随着项目程序的开发,EF的不足越来越明显. ● 根据 ...

  5. iOS中app启动闪退的原因

    这种情况应和所谓的内存不足关系不大,很少有程序会在初始化时载入大量内容导致崩溃,并且这类问题也很容易在开发阶段被发现,所以内存不足造成秒退的可能性低(内存不足退,通常是程序用了一段时间,切换了几个画面 ...

  6. js对象、数组转换字符串

    对象转换成字符串需要使用toString()方法. 1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 c ...

  7. python单线程爬虫code

    广度优先算法: # -*- coding: utf-8 -*- import urllib import urllib.request from bs4 import BeautifulSoup im ...

  8. 信息加密之消息摘要算法的MAC

    MAC是消息摘要算法的第三种实现方式,另外两种方式分别为:MD2\4\5.SHA. MAC的jdk实现:1.默认密钥方式 private static void MAC_JDK(){ try { Ke ...

  9. Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)

    具体步骤: 1.安装开发工具WebStorm: 2.安装node/npm(下载地址:https://nodejs.org/download/)选择适合你的xxx.mis安装: 3.安装express框 ...

  10. 邻接矩阵无向图(二)之 C++详解

    本章是通过C++实现邻接矩阵无向图. 目录 1. 邻接矩阵无向图的介绍 2. 邻接矩阵无向图的代码说明 3. 邻接矩阵无向图的完整源码 转载请注明出处:http://www.cnblogs.com/s ...