-
UID:2
-
- 注册时间2005-01-04
- 最后登录2024-07-30
- 在线时间128小时
-
- 发帖600
- 搜Ta的帖子
- 精华47
- PB3246
- 威望526
- 贡献值187
- 交易币124
- 好评度279
-
访问TA的空间加好友用道具
|
ASP.NET 与传统的 ASP 在 API 方面完全兼容,但有以下三处不同:
Request():ASP 返回字符串数组;ASP.NET 返回字符串。 Request.QueryString():ASP 返回字符串数组;ASP.NET 返回字符串。 Request.Form():ASP 返回字符串数组;ASP.NET 返回字符串。 在 ASP 中,Request、Request.QueryString 和 Request.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
这些数组最常用于从多项选择列表框 (<select multiple>) 传递窗体值或多个复选框具有相同名称的情况。
ASP.NET 和 ASP 之间的语义差异 ASP.NET 页与现有的 ASP 页相比还有几处语义变化。下列问题最有可能影响您:
ASP.NET 页仅支持单语言。 ASP 允许在单页上使用多种语言,这对脚本库方案有用。由于 ASP.NET 的已编译特性,它在一页上仅支持单语言。然而,在单个应用程序内仍然可以有多个使用不同语言的页。用户控件还可以具有不同于包含它们的页所使用的语言。这使您能够在单页内集成用不同语言编写的功能。这足以替代传统 ASP 应用程序中普遍使用的多语言包含文件。
ASP.NET 页函数必须在 <script runat=server> 块中声明。 在 ASP 中,页函数可以在 <% %> 块中声明:
<% Sub DoSomething() Response.Write "Hello World!" End Sub
DoSomething %>
在 ASP.NET 中,页函数必须在 <script runat=server> 块中声明:
<script language="C#" runat=server>
void DoSomething() { Response.Write("Hello World!"); }
</script>
<% DoSomething(); %>
<script language="VB" runat=server>
Sub DoSomething() Response.Write ("Hello World!") End Sub
</script>
<% DoSomething() %>
<script language="JScript" runat=server>
function DoSomething() : void { Response.Write("Hello World!"); }
</script>
<% DoSomething(); %>
C# VB JScript
ASP.NET 不支持页呈现函数。 在 ASP 中,可以用 <% %> 块声明页呈现函数:
<% Sub RenderSomething() %> <font color="red"> Here is the time: <%=Now %> </font> <% End Sub %>
<% RenderSomething RenderSomething %>
在 ASP.NET 中,这必须重写:
<script language="C#" runat=server>
void RenderSomething() { Response.Write("<font color=red> "); Response.Write("Here is the time: " + DateTime.Now); }
</script>
<% RenderSomething(); RenderSomething(); %>
<script language="VB" runat=server>
Sub RenderSomething() Response.Write("<font color=red> ") Response.Write("Here is the time: " & Now) End Sub
</script>
<% RenderSomething() RenderSomething() %>
<script language="JScript" runat=server>
function RenderSomething() : void { Response.Write("<font color=red> "); Response.Write("Here is the time: " + DateTime.Now); }
</script>
<% RenderSomething(); RenderSomething(); %>
C# VB JScript
本节小结 除了三处例外,ASP.NET 与传统的 ASP 在 API 方面完全兼容。API 的变化是:Request()、Request.QueryString() 和 Request.Form() 现在都返回个别的字符串而不是字符串数组。 ASP.NET 页仅支持单语言。 ASP.NET 页函数必须在 <script runat=server> 块中声明。 不支持页呈现函数。
|