开发者社区


首页 -
资源中心
全文搜索:   

ASP.NET移植须知
作者: Jim Kieley
2001-10-12 16:40:45



结构变化指的是那些影响Active Server Pages布局与代码风格的变化。您必须对它们有所了解以确保您的代码会在ASP.NET中运行无误。


代码块: 声明函数与变量


在ASP中,您可以在您的代码标示符中声明子程序与全局变量.

<%
Dim X
Dim str
Sub MySub()
Response.Write "This is a string."
End Sub
%>

在ASP.NET中,这已被禁止。您必须在<script> 块中声明所有函数与变量。

<script language = "vb" runat = "server">
Dim str As String
Dim x, y As Integer

Function Add(I As Integer, J As Integer) As Integer
Return (I + J)
End Function
</script>



编程语言混合

在ASP编程语言中,您基本上有两种选择:VBScript 或 Microsoft® JScript®。 您可以在同一页自由混合搭配脚本块。

在ASP.NET,您现在有三种选择。您可以使用C#, Visual Basic .NET, 或 Jscript。请注意我说的是Visual Basic .NET 而不是VBScript。这是因为VBScript不存在于.NET 平台。它已经完全被Visual Basic .NET归入。虽然您可以自由选择任何语言,必须注意的是您不能再在同一页任意混合不同语言。当然您可以在您的应用程序Page1.aspx中包含C#代码,而Page2.aspx中包含Visual Basic .NET代码。您所不能做的是把它们混合放在同一页面。


新页面指令

在ASP中,您必须把所有指示指令放在页面的第一行, 而且只能在同一个代码标志符内。例如:
<%LANGUAGE="VBSCRIPT" CODEPAGE="932"%>
在ASP.NET中,您必须把语言指令与页面指令放在一行。例如:
<%@Page Language="VB" CodePage="932"%>
<%@QutputCache Duration="60" VaryByParam="none" %>
您可以根据需要,加入任意多条指令。指令可以被放在您的.apsx文件中的任何地方,但标准做法是置于文件开头。

ASP .NET纳入了一些新的指令。我建议您在ASP.NET相关文件中查找更多信息,看这些新指令是否能为您的应用程序带来益处。


Render 函数不再有效
在ASP中,开发人员发现它们可以利用所谓“输出函数”做些聪明的事。输出函数是一种正文中嵌入着大量HTML的子程序。例如:
<%Sub RenderMe()
%>
<H3> This is HTML text being rendered. </H3>
<%End Sub
RenderMe
%>
虽然用这些函数可以做很多很酷的事情,该代码在ASP.NET中不再允许使用,这应该是一种进步。我相信,在您像这样开始混合或搭配代码与HTML时,您见过有些函数很快就无法阅读与管理了。让它在ASP.NET中工作的最简单方法是调用 Response.Write 去取代您的HTML 输出。例如:

<script language="vb" runat="server">
Sub RenderMe()
Response.Write("<H3> This is HTML text being rendered. </H3>")
End Sub
</script>

<%
Call RenderMe()
%>


请注意我说了:“最简单的方法”,这并不是说它是最好的方法。取决于您的输出代码的复杂程度与数量,使用自定义的Web controls可能对您有利。它使您可以用程序设置HTML属性,并真正把您的内容与代码分开。这样可以大大提高您的代码可读性。
 

【上一页】 【下一页】
声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号