|
Migración a ASP .NET: consideraciones clave
Cambios en la API principal
Las API principales de ASP están compuestas de algunos
objetos intrínsecos (Request, Response,
Server, etc.) y sus métodos asociados. Salvo algunos
cambios sencillos, estas API siguen funcionando correctamente
en ASP .NET. Todos los cambios están relacionados con el
objeto Request y se muestran en la tabla 1:
Tabla 1. Cambios en la API
| Método |
Cambio |
| Request(item) |
En ASP, este método
devuelve una serie de cadenas. En ASP .NET, devuelve un
objeto NameValueCollection. |
| Request.QueryString(item) |
En ASP, este método
devuelve una serie de cadenas. En ASP .NET, devuelve un
objeto NameValueCollection. |
| Request.Form(item) |
En ASP, este método
devuelve una serie de cadenas. En ASP .NET, devuelve un
objeto NameValueCollection. |
Como se puede observar, los cambios son prácticamente
idénticos para todos los métodos utilizados.
Si se tiene acceso a un item que contiene solamente
un valor para la clave especificada, no es necesario modificar
el código. No obstante, si existen varios valores para una
misma clave, habrá que utilizar otro método para devolver la
colección de valores. Asimismo, nótese que, en Visual Basic
.NET, las colecciones son de base cero, mientras que en
VBScript son de base uno.
Por ejemplo, en ASP se tendría acceso a los valores de
cadenas de consulta individuales desde una solicitud a http://localhost/myweb/valuetest.asp?values=10&values=20
de la siguiente forma:
<%
'Esto dará como resultado "10"
Response.Write Request.QueryString("values")(1)
'Esto dará como resultado "20"
Response.Write Request.QueryString("values")(2)
%>
En ASP .NET, la propiedad QueryString devuelve un
objeto NameValueCollection. Es necesario recuperar la
colección Values de este objeto antes de recuperar el
elemento real que desea. Recuerde que para recuperar el primer
elemento de la colección se ha de utilizar un índice de base
cero, no de base uno:
<%
'Esto dará como resultado "10"
Response.Write (Request.QueryString.GetValues("values")(0))
'Esto dará como resultado "20"
Response.Write (Request.QueryString.GetValues("values")(1))
%>
Tanto en el caso de ASP como en el de ASP .NET, el
siguiente código actuará de igual forma:
<%
'Esto dará como resultado "10", "20"
Response.Write (Request.QueryString("values"))
%>
LO ÚLTIMO
en tu Correo.
Suscríbete Gratis a NUESTRO BOLETÍN !!
Te Agradeceríamos nos informes si encuentras un
ENLACE
ROTO
|