2011-07-27 12 views
5

Tengo mi clase en C# en .NET, llamada después de una solicitud por parte de un URI. Necesito comprobar si este URI contiene algunos parámetros o no.Cómo comprobar si el URI de solicitud tiene algún parámetro

Por ejemplo:

http://www.website.com/page.aspx?ID=9   // must return YES 
http://www.website.com/page.aspx?ID=9&Page=2 // must return YES 
http://www.website.com/page.aspx    // must return NO 

es posible? Por supuesto que no podía conocer el nombre de cada uno de los parámetros de la URI, por lo que para una cadena de consulta al azar, como:

http://www.website.com/page.aspx?RandomParameter=1 

necesito devolver SÍ. ¿Puedo hacerlo?

Respuesta

7

Tiene que permitir Request.QueryString siendo null también (sin parámetros).

para regresar el string:

return Request.QueryString != null && Request.QueryString.Count > 0 ? "YES" : "NO"; 

para regresar el bool:

return Request.QueryString != null && Request.QueryString.Count > 0; 
5

ha sido bastante tiempo desde que he trabajado con ellos, pero creo que algo como lo siguiente debe adaptarse a sus necesidades:

Solución:

if(Request.QueryString != null && Request.QueryString.Count > 0) 
{ 
    return "YES"; 
} 
else 
{ 
    return "NO"; 
} 

Inline Solución (Si esto era todo lo que tenía que hacer):

return (Request.QueryString != null && Request.QueryString.Count > 0) ? "YES":"NO"; 

puede encontrar más inf ormación en Request.QueryString here.

+0

Pero Request.QueryString == null means esa cadena de consulta no contiene parámetros? – markzzz

+0

Solucionado Lo sentimos :) Esto simplemente comprobará si existen algunos parámetros y arrojará "SÍ", de lo contrario "NO". Espero que esto ayude :) –

+0

@Rionmonster 'Request.QueryString == null' arrojaría una excepción en los ejemplos de tu código. Ver mi respuesta arriba. –

2

Prueba este método, si la página solicitada tiene algún parámetro querystirng define entonces se volverá verdad, de lo contrario, devolver falso

if (Request.QueryString.HasKeys()) 
{ 
    Response.Write("The requested page URI has parameters"); 
} 
Cuestiones relacionadas