核心API 变化
ASP的核心API由一些固有对象(Request, Response, Server, 等)及与它们相关的方法组成.除了一些简单变化,这些API在ASP.NET下会继续工作无误.所有的变化都与Request
对象有关.请看表一:
表1:API 变化
|
方法 |
变化 |
| Request(item) |
在ASP中, 该方法会返回字符串数组.在ASP .NET,它会返回NameValueCollection. |
| Request.QueryString(item) |
在ASP中, 该方法会返回字符串数组.在ASP .NET,它会返回NameValueCollection. |
| Request.Form(item) |
在ASP中, 该方法会返回字符串数组.在ASP .NET,它会返回NameValueCollection. |
可以看出, 这些变化对所有的方法都是一样的。
如果,您要访问的对象对某键值有唯一值,您就不需要修改您的代码。可是,如果有多个值,您就需要用不同的方法获得它们。另外,请注意Visual Basic
.NET中的集合是以零为基的,而VBScript的集合是以一为基的。
例如,在ASP中,访问来自对http://localhost/myweb/valuetest.asp?values=10&values=20发出的请求的单独查询字符窜数值,可能会得到以下结果:
<%
'This will output "10"
Response.Write Request.QueryString("values")(1)
'This will output "20"
Response.Write Request.QueryString("values")(2)
%>
在ASP .NET中,QueryString属性返回NameValueCollection对象。从此对象中,您可以获得数值集合,及您想要的真正内容。再一次要强调的是:请注意集合中的第一项是基于零而不是一:
<%
'This will output "10"
Response.Write (Request.QueryString.GetValues("values")(0))
'This will output "20"
Response.Write (Request.QueryString.GetValues("values")(1))
%>
无论是ASP还是ASP.NET,以下代码执行结果是一样的:
<%
'This will output "10", "20"
Response.Write (Request.QueryString("values"))
%>
|