欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【从ASP过渡到ASP.net遗留的二十大积习】,下面是详细的分享!
从ASP过渡到ASP.net遗留的二十大积习
在技术更新的进程中,仍然有一些人死抱着已经过了气的东西不放,也有一些人虽然进入到新的世界,但仍摆脱不了陈旧的习惯,我没有用”陋习”这个词,因为我对这个词也非常反感。
新技术应该有新技术的做法,进入ASP.NET的世界,就应该把以往的习惯改正,全新的进入新的世界。
以下列举的都是错误的做法,请不要误以为是推荐的做法而进行推广:
1、使用serversideinclude给ASPX引入共同的页面构图。
在ASP.NET的机制下,应使用ASCX(webusercontrol)来实现。ASCX提供了更多可控制接口。并且更重要的是,ASCX是一个类。一个实实在在的类.可以全面控制它。
2、不使用web.config
web.config提供了非常丰富的配置管理接口.是一个应用程序最核心的部分。但是很多人的web.config往往是空的.或者就从来没有修改过。
3、使用Response.Write向前端输出消息
ASP.NET平台下的Response和ASP的Response有很大的不同.虽然表示同一含义,但用法上已经大不相同。Response.Write的内容只会输出到页的最前端.向前端输出消息的正确方法是使用PlaceHolder。
4、使用一系列session管理用户连接状态
这种方法在ASP里被滥用,在ASP.NET环境下,正确的做法应该是设计一个类.结构化地保存数据,将对session或者cookie的访问封装起来。
5、使用session验证身份
这几乎是通病.ASP.NET提供了一组用于用户身份验证的API,类型是forms验证或者windows验证.这一点quickstart有一节讲解得很清楚.可以绝大部分人还是依靠给session赋值来保持用户身份验证状态。
6、使用Response.Redirect重定向页
这一点在必要的时候可以使用。但不可滥用.事实证明滥用重定向将导致逻辑上的严重混乱。这是在以页为程序单元的时候的做法.使用frontcontroller模式将使用户的操作逻辑集中起来。
7、使用太多ASPX页
ASP环境下的程序单元只有*.asp页,ASP.NET可不是这样,还有后端的类库,ASCX等等.应将业务逻辑分别集中在不同的单元。而不应该一项操作使用一个ASPX.更多时候ASPX将做为ASCX或者customcontrol的容器而管理页内逻辑.ASPX重用ASCX的同时,ASPX也做为统一的页构图重用。
8、在多个逻辑单元之间复制代码并修改相应逻辑
重用.重用.重用.处理此类问题的原则是不出现任何相同或相似的过程.如果你用上面的方法,一旦出现重大逻辑更改,带来的结果将是灾难性的。
9、害怕使用DataSet。
很多人被DataSet吓坏了.认为”肯定”影响性能.但连最初的尝试都不敢.他们总认为他们的产品一定重大,设计上应该”慎重”.他们往往使用ArrayList或者设计低级的类来保存集合数据.进行艰难的数据倒入工作。
10、对“性能”过多注意。
对ASP.NETViewState的机制特别不满.或者总是挖空心思迫害人家,反倒把自己弄得很累,如果在对付ViewState的同时多注意少连几次数据库也许更文明些。
11.应用程序根目录很乱。
ASP.NET是开发项目,不是网站.应该把不同的资源分类放置.例如把所有静态资源(样式表、脚本、图像)组织到一起,甚至可以写一组API来管理他们,ASPX应该放在一起.ASCX应该放在一起..*.cs呢?应该把他们放到另外一个project里。
12.不厌其烦的写访问数据库的过程
应该把这工作交给DataAccessApplicationBlock.你自己还要开关connection,何苦呢.
13.自己写的东西最靠得住.
事实往往正好相反.多注意使用人家写好的产品.又不收你钱,何苦那么爱面子呢.
14.胡乱命名ASPX文件名
这是最让人痛苦的了.ASPX文件名不仅需要容易识别.还应该遵循一定规则.因为behind每个ASPX都会有一个同名的类,想象一下,多难受.另外大部分人不知道管理自己的项目的namespace.让人好像看到一本帐一样.
15.从来不作继承或派生
一些具有相同行为的类,应该从公共的基类派生出来.实际意义上,我们的ASPX应该有一个基类PageBase.因为总有一些公共的特性需要抽象出来.
16.零property
他们的类(ASPX所对应)里只有privatemethod.不公开自己的任何秘密.可以这一定是JAVA的遗老干的事.
17.零ASCX
不用说,他还没学会ASP.NET
18.使用DreamWeaver“画“ASPX
这批人是美工.甚至有一些人在非常陶醉地讨论如何更好地“整合“DreamWeaver和VisualStudio.
19.只熟悉System.Web.UI.WebControl和System.Data.SqlClient应该还有一些值得熟悉的类库.
20.零注释
这些都是心里很明白的快手.一任IDE生成的缺省注释横在那里不管.
21.零事件
对“事件驱动“一无所知.只知道在Page_Load()里写过程.或者双击一个按钮写Xxx_Clock()过程.在他们的程序里看不到event和delegate.
以上所分享的是关于从ASP过渡到ASP.net遗留的二十大积习,下面是编辑为你推荐的有价值的用户互动:
相关问题:求助!!ASP高手请了~我要实现ASP分页效果
答:page=cint(request("page"))'要进行安全处理 rs.pagesize=6 rs.absolutepage=page for i=1 to rs.pagesize if rs.eof then exit for end if response.write(rs("product")) rs.movenext next 分三行两列的话,用div float,再用外部固定宽度,就... >>详细
相关问题:关于ASP.NET的问题
答:学完这些已经可以了,不过你学了那么多,“.net之类”这样的话就值得商榷了,一看就是还没学懂。学习了之后要多练练,只看书是远远不够的 >>详细
相关问题:asp.net如从数据库中取一行中的一列
答:using System.Data.SqlClient; "SELECT [City] FROM info WHERE [UserName]='abc'"; DataSet ds = "查询后的DataSet"; textBox1.Text = ds.Tables[0].Rows[0][0].ToString(); >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
