繁体   English   中英

经典ASP到ASP.NET 2.0的转换

[英]Classic ASP to ASP.NET 2.0 conversion

在将经典的ASP网站转换为asp.net时,我可以得到一些一般建议吗? 我以前从未使用过经典的ASP,过去六个月左右才使用过ASP.NET 2.0,所以这对我来说是全新的。

我注意到我正在使用的这个网站使用了一些“包含”文件。 我知道我应该从包含文件中获取代码并将其复制到自己的类文件中。 我注意到文件后面没有代码,每个页面都写在它自己的文件中(标记和代码)。 而且,这有点让我失望,没有事件处理程序。 您能提到在classic和.NET之间还有其他有用的细微差别吗?

另一个问题:我注意到项目中的每个文件中,在标记上方编写了一些代码,在标记下方编写了一些代码。 出于组织/可读性的目的,似乎所有代码都写在标记的上方或下方似乎更好。 除非,这是有原因的。 ???

谢谢。

您当然面临挑战。 就比较而言,MVC可能不会更抽象Web到基于事件的结构,因此它可能更接近经典的ASP-但这将是您要学习的另一件事。

正如您所发现的,经典ASP与ASP.NET完全不同。 基本上每个URL都解析为一个父ASP文件。 依次包含其他ASP文件(如果开发人员喜欢,它们可以具有不同的扩展名,即“ .inc”)。 这些反过来又可以包括其他文件。 完全有可能多次包含相同的文件-但是,ASP引擎通常可以解决这个问题。 重要的是要记住,在任何实际的ASP处理开始之前,所有包含项都被处理成一个大文档。 因此,一旦处理完所有包含项,便有了一个大文档。 然后,ASP引擎从顶部开始,并逐行处理代码。 您可能将HTML和ASP代码全部交织在一起,并取消了程序。

如果您可以对C#或VB进行编程,那么牢记这一点来读取ASP文件应该不会太困难。 在那个阶段,您可以开始一页一页地处理该功能。 只需记住,在ASP中也没有“回发”或查看状态的概念。 同样,这是ASP.NET尝试抽象化Web编程以表示基于事件的方法。

抱歉,最后一件事-某些命令(例如ASP中显式的选项)必须是父ASP文档中的第一件事,因此必须始终出现在任何其他代码或标记之前。 之后,可以将代码和标记混合在一起-导致臭名昭著的“标签汤”,ASP将被记住。

收录您的包含并将其分类:

1)代码功能
2)模板功能

所有代码功能都应放入业务对象类或模块中。 模板功能应放置在用户控件中,并随后放置在母版页中。 我强烈建议使用母版页来控制新项目的模板外观,因为它可以节省大量时间来管理站点并将所有实际页面功能转移到新页面中。

ASP是一种脚本语言,Asp.Net可以在其​​中编写脚本或进行编译。 我建议选择一个网站项目,因为这将为您提供最大的灵活性来部署代码的细节。 一个Web应用程序项目会将所有内容编译为一个易于部署的单一.dll文件,但是如果/当页面代码相互缠绕时,它将导致大量回归测试。

一旦有了模板化结构,通用类,数据访问层和母版页/用户控制结构,就将成为逐页处理并将其转换为新代码的任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM