选择ASP.NET代码编写策略

asp.net|策略

开发社区包括.NET Framework的内容,其中最有特色的是ASP.NET的Web开发。然而,这里也包含大量的有关legacy ASP代码及其开发人员的讨论。

很多ASP开发人员并非真正经过培训的开发者,他们往往只是HTML代码编写者,他们处理的ASP模型很不合理。这些开发人员通常只知道将他们的ASP常规思维应用到ASP.NET环境中,而这个过程他们却不知做出相应的选择。

以往的缺点
我特别喜欢ASP.NET所具有的稳定性,尤其是当我在ASP开发过程处于迷惑不解的时候。我的迷惑不解来自ASP的本质,即所有操作都集中在同一个bucket,也就是说,一个ASP页既包含源代码,也包含HTML。在一个Web页中放置java script也是类似的,这通常称为内联(inline),但开发人员通常将其称为意大利面程序码(spaghetti code).

在一个开发项目中,计划和开发过程的结合没有很好地与项目任务匹配,而出现这种情况通常为Web用户界面设计者和程序开发者。允许Web开发人员查看ASP代码往往使得程序开发者感到不安,并且使Web开发人员感到迷乱。一个比较可行的方法是将设计过程分离化。

分离并改进
当提及.NET的优点时,微软都会吹嘘面向对象程序开发(OOP),而OOP特点在ASP.NET中更为显著。它通过一个背后代码文件(codebehind file)的方式允许源代码从Web markup分离开来。Web markup存储在一个.aspx文件中,并且源代码(VB.NET,C#等)存放在一个附带的代码文件中。Codebehind文件名取决于使用的开发语言,但如果我们利用VB.NET来建立一个名为TestPage的ASP.NET页,以下的文件名是合法的:

TestPage.aspx:Web markup,java script等。
TestPage.aspx.vb:包含VB.NET源代码的文件。

如果选用的是C#.NET语言,Codebehind文件将被称为TestPage.aspx.cs。Codebehind文件包含的类是来源于位于System.UI.Web空间名称的Page类。Codebehind文件与@Page标志的aspx文件及其附带文件Inherits属性进行链接。Inherits属性指向Codebehind文件和类的名称,而这一指向不需要文件扩展。

<%@ Page language="c#" Inherits="TestPage" %>

语言的特性表示了页面的语言──并不是Codebehind。页面可以通过内联(inline)代码使用一种语言和在Codebehind文件中使用的另一种语言。Inherits属性指定了页面的基本类(Codebehind类)。

在缺省情况下,Codebehind文件使用Page类作为其基本类,但也可以使用普通的类。这就提供了建立程序的主控页面(master pages)的可能性。

以Visual Studio .NET方式处理
使用Codebehind文件是Visual Studio .NET开发环境中的默认特性。例如,在ASP.NET页中建立的@Page标志具有以下的语法:

<%@ Page language="c#" Codebehind="TestPage.aspx.cs"
AutoEventWireup="false" Inherits="TestPage" %>

以上代码包含两个额外的特性:

Codebehind属性指向页面的codebehind文件。这一属性只适用于Visual Studio .NET。

AutoEventWireup属性表示标准事件是否自动地连接到代码中的任意句柄。Visual Studio .NET在处理事件建立时将这一属性设置为false。

Visual Studio .NET将codebehind文件编译成为一个可执行文件,这一可执行文件可使用于Web程序的bin目录中。这就加快了页面的载入,因为当网页首次被请求时无需再被编译。另一方面,一旦第一个客户端请示时,内联(inline)代码即被编译。

做出你自己的选择
OOP语法是分离源代码和用户界面部分的支撑者,但这也并非意味着它能适用于所有情况。分离方法依赖于不同因素(包括开发时间和专业技术),但拥有所有可能的知识可以更容易地做出决定。自从引入ASP.NET的介绍之后,关于内联(inline)和背后代码(codebehind)的话题一直处于激烈的讨论中。

时间: 2024-10-07 10:23:52

选择ASP.NET代码编写策略的相关文章

ASP.NET代码编写规范

1.局部变量的名称要有意义,尽量用对应的英文命名,比如"用户姓名"变量,不要用aa bb cc等来命名,而要使用userName. 2.不要使用单个字母的变量,如i.n.x等.而要使用index.temp等.用于循环迭代的变量例外. 3.应该使用Pascal命名法命名方法名.属性名.类名和命名空间,且方法的命名一般将其命名为动宾短语,如 ◆ShowDialog(); ◆CreateFile(); ◆GetPath(); 4.用Camel命名法命名局部变量和方法的参数. 以上几条综合举例

ASP.NET在编写高访问量站点代码时都需要注意什么?

问题描述 ASP.NET在编写高访问量站点代码时都需要注意什么方面的要求?书写代码规范方面.数据库方面考虑.前台页面方面考虑有哪些需要注意的规范.此地高手众多,希望有此经验的高手指教,最好能提供一些大公司建立高访问量的代码规范等相关文档,谢谢!邮箱:langyun__1#163.com请把#换成@. 解决方案 解决方案二:我不是高手哈只是为了方便高手给你发邮件问你一下那是两个下划线吗?解决方案三:是两个下划线,谢谢!解决方案四:学习ing解决方案五:我自己顶解决方案六:学习..顶解决方案七:学习

PHP和ASP.NET代码哪个运行速度更快?

刚刚在9月编程语言排行榜上取得历史性突破的PHP在Web开发领域最到的对手可能就是基于微软.NET技术的ASP.NET.近日,微软的Joe Stagner在博客上发表了一系列文章比较了PHP和ASP.NET性能方面的文章,引起了来自双方程序员的大量回应.Joe表示,他会将这样的测试持续下去,并寻求更为合适的方式,以获得对实际项目来说尽可能有参考价值的结论. Joe在博客中称,一般来说,作性能测试的目的是要尝试证明一方比令一方要快.我受雇于微软,同时编写PHP和ASP.NET代码.我在.NET出现

用VBA代码编写一键插入Excel斜线表头

有的时候,我们要在Excel中添加斜线表头,可Excel并没有提供制作斜线表头的功能,每次都要手工画一条斜线,非常麻烦.有没有解决方法呢?其实,我们可以利用VBA代码可以编写一个功能,一键插入Excel斜线表头. 用"控件工具箱"中的"命令按钮"控件,在工作表中绘制一个命令按钮,将"Caption"属性改为"一键插入斜线表头",双击该按钮,在"Click"事件中编写代码,其中关键代码如下. 关键代码: '获

30个HTML代码编写技巧

Javascript和CSS都有许多优秀的框架,但如果你是初学者,不要急于使用它们. 本文总结了30条HTML代码编写指南,只要在编写HTML代码的过程中牢记它们,灵活运用,你一定会写出一手漂亮的代码,早日迈入专业开发者的行列. 1. 一定要闭合HTML标签 在以往的页面源代码里,经常看到这样的语句: <li>Some text here. <li>Some new text here. <li>You get the idea. 也许过去我们可以容忍这样的非闭合HTM

JAVA代码编写的30条建议

JAVA代码编写的30条建议 (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母.例如: ThisIsAClassName thisIsMethodOrFieldName 若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母.这样便可标志出它们属于编译期的常数. Java包(Package)属于一种特殊情况:它们全都是小写字母,即便中间的单词亦是如此.对于域名扩展名称

浅谈ASP程序的编写和调试:给初学者

程序|初学 很多朋友觉得ASP不是很好学,我觉得其实有了一定的编程基础,再加上那么一点点技巧,入门是不难的(不过要做好也不是很容易,要很多的相关知识--什么Sql Server数据库语言啦,数据结构啦(这些都是在优化Asp的算法时候要熟悉的). 在这只和大家谈谈我个人是怎书写和调试ASP的,希望能给大有一点帮助-- ASP脚本的书写: 一.注意区分清楚html语法和VBScript语法.因为ASP是混合使用Html语法和VBScript语法的(当然,我全部写成VBScript语法也可以,不过那样

浅谈Asp程序的编写和调试——给初学者

程序|初学     很多朋友觉得Asp不是很好学,我觉得其实有了一定的编程基础,再加上那么一点点技巧,入门是不难的(不过要做好也不是很容易,要很多的相关知识--什么Sql Server数据库语言啦,数据结构啦(这些都是在优化Asp的算法时候要熟悉的).    在这只和大家谈谈我个人是怎书写和调试Asp的,希望能给大有一点帮助--Asp脚本的书写: 一.注意区分清楚html语法和VBScript语法.因为Asp是混合使用Html语法和VBScript语法的(当然,我全部写成VBScript语法也可

如何养成Flash ActionScript代码编写好习惯

每个人玩Flash一段时间后,都会形成自己的一套Flash ActionScript代码编写习惯.好的代码编写习惯可以尽可能避免低级失误和不必要的麻烦,从而加速开发进程,提高开发质量.火山现在虽然只是业余爱好者,但两年的积累,再加上"火山之家"的开发,也自然而然的形成了火山特色的开发习惯.这些习惯从某种程度反映了我现在的开发水平,所以它基本上都是围绕着小型.快捷.面向过程的开发模式形成的,很多地方还很幼稚.不过以后随着我能力的不断提高,以及对面向对象编程思想的学习,它肯定还要不断的更新