c# - read - query string url asp net
¿Hay una manera de obtener todos los pares nombre/valor de cadena de consulta en una colección? (5)
Bueno, Request.QueryString
ya ES una colección. Específicamente, es un NameValueCollection
. Si su código se está ejecutando en ASP.NET, eso es todo lo que necesita.
Así que para responder a tu pregunta: Sí, la hay.
¿Hay una manera de obtener todos los pares nombre / valor de cadena de consulta en una colección?
Estoy buscando una forma integrada en .net, si no, simplemente puedo dividir en & y cargar una colección.
Puede usar LINQ para crear una Lista de objetos anónimos a los que puede acceder dentro de una matriz:
var qsArray = Request.QueryString.AllKeys
.Select(key => new { Name=key.ToString(), Value=Request.QueryString[key.ToString()]})
.ToArray();
Si tiene una cadena de consulta SOLAMENTE representada como una cadena, use HttpUtility.ParseQueryString para analizarla en una NameValueCollection.
Sin embargo, si esto es parte de una HttpRequest, entonces use la propiedad QueryString ya analizada de su HttpRequest.
QueryString
propiedad QueryString
en la clase HttpRequest
es en realidad la clase NameValueCollection . Todo lo que necesitas hacer es
NameValueCollection col = Request.QueryString;
Sí, use la colección HttpRequest.QueryString
:
Obtiene la colección de variables de cadena de consulta HTTP.
Puedes usarlo así:
foreach (String key in Request.QueryString.AllKeys)
{
Response.Write("Key: " + key + " Value: " + Request.QueryString[key]);
}