¿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]; p>
if (str != null)
{
return str;
}
return null; p>
}
}