织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>杂项技术>.NET(C#)>

ASP-ASP.NET的移植

罗索客 发布于 2006-11-02 00:11 点击:次 
移植概述 安装 ASP.NET 不会破坏现有的 ASP 应用程序。它使用单独的文件扩展名(.aspx 而不是 .asp)、单独的配置设置以及完全独立的公共语言运行库(Asp.dll 没有修改)。ASP 页和应用程序可以继续使用现有的 ASP 引擎,不会受 ASP.NET 的干扰。这表明,将现有应用程
TAG:

移植概述

安装 ASP.NET 不会破坏现有的 ASP 应用程序。它使用单独的文件扩展名(.aspx 而不是 .asp)、单独的配置设置以及完全独立的公共语言运行库(Asp.dll 没有修改)。ASP 页和应用程序可以继续使用现有的 ASP 引擎,不会受 ASP.NET 的干扰。这表明,将现有应用程序移植到 ASP.NET 的好处是巨大的。ASP.NET 轻松提供比传统 ASP 多许多倍的功能,而且将 ASP 应用程序移动到新的平台也提供了极大的改进机会。可以利用的新功能包括:

  • 提高的性能和可缩放性
  • 网络场支持和 XCopy 部署
  • 输出缓存和自定义安全
  • Web 窗体页控件
  • XML Web 服务基础结构

ASP.NET 旨在帮助您保留在传统 ASP 和 COM 技术上的投资。您希望支持现有的 ASP 语法和语义,同时需要可以很好地持续到下一代 Internet 应用程序开发的前瞻性平台,而 ASP.NET 正是在这两者间实现平衡。尽管 ASP.NET 保留 ASP 功能集的多数内容,但如果平台要发展,就不可能实现二者间的完全兼容,因此对以往的工作方式有一些改动。

好的方面是您的 ASP 技能可以很容易转换为 ASP.NET。仅存在少数差异,通常很容易解决。但是,将 ASP 应用程序移植到 ASP.NET 确实需要做一些工作。相对简单的页可能不需更改即可移植,但较为复杂的应用程序可能需要一些修改。以下各节描述这些更改,以及它们可能影响现有应用程序代码的方式。还说明了一些可以在 ASP.NET 中重用 ASP 和 COM 代码的方法。

语法和语义

ASP.NET 与传统的 ASP 在 API 方面完全兼容,但有以下三处不同:

  • Request():ASP 返回字符串数组;ASP.NET 返回字符串。
  • Request.QueryString():ASP 返回字符串数组;ASP.NET 返回字符串。
  • Request.Form():ASP 返回字符串数组;ASP.NET 返回字符串。

在 ASP 中,RequestRequest.QueryStringRequest.Form 集合从查找返回字符串数组。例如,在传统的 ASP 中,按如下所示访问从请求到 http://localhost/test/Test.asp?values=45&values=600 的查询字符串值:

<%
    '' Below line outputs: "45, 600"
    Response.Write Request.QueryString("values")

    '' Below line outputs: "45"
    Response.Write Request.QueryString("values")(1)
%>

在 ASP.NET 中,这些集合需要显式方法来获取数组访问。这些数组现在也是从 0 开始索引。例如,在 ASP.NET 中,按如下所示访问从请求到 http://localhost/test/Test.aspx?values=45&values=600 的查询字符串值:

以下内容为程序代码:
<%
    // Below line outputs: "45, 600"
    Response.Write(Request.QueryString["values"]);

    // Below line outputs: "45"
    Response.Write(Request.QueryString.Getvalues("values")[0]);
%>
<%
    '' Below line outputs: "45, 600"
    Response.Write(Request.QueryString("values"))

    '' Below line outputs: "45"
    Response.Write(Request.QueryString.Getvalues("values")(0))
%>
<%
    // Below line outputs: "45, 600"
    Response.Write(Request.QueryString["values"]);

    // Below line outputs: "45"
    Response.Write(Request.QueryString.Getvalues("values")[0]);
%>
C# VB JScript

这些数组最常用于从多项选择列表框 (

C# VB JScript

  • ASP.NET 不支持页呈现函数。

    在 ASP 中,可以用 <% %> 块声明页呈现函数:

    <% Sub RenderSomething() %>
            Here is the time: <%=Now %> 
    <% End Sub %>
    
    <%
       RenderSomething
       RenderSomething
    %>
    

    在 ASP.NET 中,这必须重写:

    
    
    <%
       RenderSomething();
       RenderSomething();
    %>
    
    
    
    <%
       RenderSomething()
       RenderSomething()
    %>
    
    
    
    <%
       RenderSomething();
       RenderSomething();
    %>
    
    C# VB JScript

  • 本节小结

    1. 除了三处例外,ASP.NET 与传统的 ASP 在 API 方面完全兼容。API 的变化是:Request()Request.QueryString()Request.Form() 现在都返回个别的字符串而不是字符串数组。
    2. ASP.NET 页仅支持单语言。
    3. ASP.NET 页函数必须在
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    将本文分享到微信
    织梦二维码生成器
    推荐内容