详解ASP.NET开发

开发 后端
本文介绍ASP.NET开发进行一下深入的总结,也希望给读者带来一些个启示,包括介绍项目开发中遇到的实际问题。

开发完一个项目后,如果能够很好的对这个项目做个总结,对我们以后的项目开发以及个人技术的积累都会有很大的帮助。最近在外派公司做完一个系统,在此进行一下深入的总结,也希望给读者带来一些个启示。

一.系统介绍

本系统是某一跨国公司北京Site的班车预订系统(班车超多,往返于北京和天津之间)。客户(公司员工)能够在本系统中已经发布的班车路线里预订座位;如果没有相应的班车(座位已满),可以提交申请,让Travel Clerk新建立班车路线;能够对系统运行进行各种的统计生成报表,比如班车运行效率,司机出车情况等等。

二.应用的开发技术和工具

ASP.NET 2.0, ASP.NET Ajax, SqlServer 2000, C#, NHibernate, Crystal Report

使用的是常用的技术,我认为开发一个系统不一定要用***的技术,这要看项目开发的需求,以及参与开发人员掌握的情况。如果项目紧的话,就需要采用成熟(传统ASP.NET技术)的技术进行有效的开发。系统的业务层和数据访问层在此系统实际上归为了一个层里,都由Nhibernate实现。Nhibernate是一个.Net实现的面向对象的框架,即ORM. 我觉得和Linq很类似。

三.项目开发中遇到的实际问题

令我印象最深刻的就是,在开发中系统需求一直在变化,因此一听到要改东西,心里就窝火。

要知道需求频繁的变更,对于开发来说打击很大,殊不知不断的改代码,系统会变得脆弱些,当然这样应当加大测试的力度。

在开发之前的设计中也有一个失误,没有把业务考虑全,造成在开发中要费很大的力量进行弥补(在此提一下设计的失误之处,一般情况下班车是不跨天运营的,在开发中期,客户竟然提出班车有可能跨天,比如晚上11点出发,后半夜12点半去机场接人),超郁闷。

在技术上基本上没有什么障碍,在组员的互相交流中很快搞定。

四.开发中值得一提的几个技术点

1. 模板页的应用

当然了既然用ASP.NET开发,基本上会用到模板页的,但是使用的深度不同。比如说Master Page和Content Page之间(双向的)的相互访问。一般情况下是Content Page访问Master Page,然而反过来呢?在次提出一个建议,当Master Page访问Content Page时应当是松散耦合的, 可以在Master Page中生成事件让Content Page来订阅。

还有一点值得一提,因为Master Page是一个Naming Container,所以在它之下的控件的ID之前是要坠上Master Page的ID的,此外Content Place Holder和GridViewRow等等都是Naming Container,因此在应用FindControl时要注意,此函数是不能穿透Naming Container来寻找指定Control的。

2. 跨页提交

跨页提交是ASP.NET 2.0的一个新特性,当提交页面要向另外一个页面传递大量数据时,可以考虑用跨页提交技术。因为其他技术都不怎么合适,比如Session,QueryString(地址栏参数***限制为2K)等等。

3. 动态生成控件以及响应事件

在页面中有时需要动态生成很多的控件,这些还要相应事件。在这种情况下要注意,如果不做好处理,当页面进行回发时,动态控件会丢失。我们需要在每次在页面的Init事件里生成这些动态控件。

4. Javascript和Css

开发这个系统没有用到什么流行的技术,但是Javascript和Css要求很高。因此在这两方面有所提高。在次提一下,做ASP.NET开发的人员有相当一部分人员是由桌面开发转来的,因此大家的Javascript和Css功底一般不深,老是认为这些是美工他们的工作,心理存在某些个抵制,看不起Javascript。这是一个认识上的问题,做Web开发,不管.NET有多精深,ASP.NET最终要做的还是要把html标记推送到客户的浏览器里。如果不懂html, javascript, css,我可以说ASP.NET开发是永远做不到精益求精的。启示做Web开发要求掌握很多的东西, http协议,IIS,web技术,服务器部署等等。还是那句话,学海无涯,技术无止境!

5. Nhibernate

开发这个系统对Nhibernate有了一定的认识,ORM框架用起来确实很方便,我们用对象去考虑问题,不必再写那些个繁琐的Sql语句,当然些hql还是要懂得sql才行。Linq的目的也在此。但是对于复杂的统计功能,我觉得Nhibernate就不合适了,因此这个系统在这方面还是用的Sql。

6. 高效率使用Google查询

这个项目确实很紧,做Web开发离开互联网,离开Google不可想象。也许也应了这句话,Web开发来源于互联网,回报于互联网。如果能高效的借助Google快速找到自己要解决问题的方案,会加快项目的开发。请在这里阅读本人的Google搜索心得。以上介绍ASP.NET开发

【编辑推荐】

  1. 浅析ASP.NET的PageBase和MasterPage
  2. ASP.NET的XML Web服务方法
  3. 详解部署ASP.NET环境
  4. 实现ASP.NET全球化
  5. 解决ASP.NET AJAX脚本的错误问题
责任编辑:佚名 来源: IT168
相关推荐

2009-08-04 10:43:59

ASP.NET控件开发

2009-07-29 16:08:07

ASP和ASP.NET

2009-07-28 16:57:50

ASP.NET Ses

2009-08-05 11:14:33

ASP.NET ISA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-23 13:19:51

2009-04-20 13:34:27

ASP.NET视频教程Web开发

2009-08-07 14:42:02

ASP.NET控件开发

2009-07-23 13:09:23

2009-07-28 13:39:44

加载ViewStateASP.NET

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 18:10:35

ASP.NET动态编译

2009-07-28 14:16:31

ASP.NET与MyS

2011-04-19 10:33:16

ASP.NET自定义控

2009-08-05 10:36:08

开发ASP.NET

2010-03-19 09:17:16

ASP.NET MVC

2009-07-23 13:26:21

2009-08-01 22:47:13

ASP.NET笔试题目ASP.NET

2009-07-30 14:00:21

ASP.NET 2.0

2009-08-05 17:39:13

ASP.NET常用状态
点赞
收藏

51CTO技术栈公众号