La Red de Conocimientos Pedagógicos - Currículum vitae - ¿Es Request.QueryString["id"] lo mismo que Request["id"]?

¿Es Request.QueryString["id"] lo mismo que Request["id"]?

No es lo mismo

Request.QueryString["id"] solo puede leer el parámetro llamado id pasado a través del parámetro de la barra de direcciones.

Request["id"] es una función de lectura de función compuesta.

Su orden de prioridad es

QueryString gt; Form gt; Cookies gt; ServerVariables

Es decir, si hay un parámetro de la barra de direcciones llamado id, el efecto de Request["id"] es lo mismo que Request.QueryString["id"].

Si no hay ningún parámetro de la barra de direcciones llamado id, Request.QueryString["id"] regresará vacío, pero Request["id"] continuará verificando si hay un elemento de envío de formulario llamado id. , si no existe, continúe intentando verificar la cookie llamada id, si no existe, continúe verificando la variable de entorno del servidor llamada id. Realizará hasta 4 intentos y regresará vacío solo si los cuatro intentos fallan.

El siguiente es el código de implementación interna de Request[ "id" ]:

cadena pública this[string key]

{

obtener

{

string str = this.QueryString[key];

if (str != null)

{

return cadena

}

cadena = this.Form[clave]

if (cadena != nulo)

{

return str;

}

cookie HttpCookie = this.Cookies[clave]

if (cookie); != null)

{

return cookie.Value;

}

str = this.ServerVariables[key];

if (str != null)

{

return str;

}

return null;

}

}