Pregunta Cómo pasar múltiples parámetros en una cadena de consulta


Tengo tres valores que debo aprobar como parámetros, por ejemplo, strID, strName y strDate.

Quiero redirigir estos tres parámetros a otra página en Response.Redirect(). ¿Puede alguien proporcionarme la cadena de preguntas correcta?


63
2018-04-07 07:46


origen


Respuestas:


Query_string

(A continuación se encuentra el texto de la sección vinculada de la entrada de Wikipedia).

Estructura

Una URL típica que contiene una cadena de consulta es la siguiente:

http://server/path/program?query_string

Cuando un servidor recibe una solicitud para dicha página, ejecuta un programa (si está configurado para hacerlo), pasando el query_string sin cambios al programa. El signo de interrogación se usa como separador y no forma parte de la cadena de consulta.

Un enlace en una página web puede tener una URL que contiene una cadena de consulta; sin embargo, HTML define tres formas en que un navegador web puede generar la cadena de consulta:

  • un formulario web a través del elemento ...
  • un mapa de imagen del lado del servidor a través del atributo ismap en el elemento con una construcción
  • una búsqueda indexada a través del elemento ahora en desuso

Formularios web

El uso principal de las cadenas de consulta es contener el contenido de un formulario HTML, también conocido como formulario web. En particular, cuando se envía un formulario que contiene los campos campo1, campo2, campo3, el contenido de los campos se codifica como una cadena de consulta de la siguiente manera:

field1=value1&field2=value2&field3=value3...

  • La cadena de consulta se compone de una serie de pares de valores de campo.
  • Dentro de cada par, el nombre del campo y el valor están separados por un signo igual. El signo igual se puede omitir si el valor es una cadena vacía.
  • La serie de pares está separada por el signo y, '&' (o punto y coma, ';' para las URL incrustadas en HTML y no generadas por ..., ver a continuación). Si bien no existe un estándar definitivo, la mayoría de los marcos web permiten que se asocien múltiples valores con un solo campo:

field1=value1&field1=value2&field1=value3...

Para cada campo del formulario, la cadena de consulta contiene un par de campo = valor. Los formularios web pueden incluir campos que no son visibles para el usuario; estos campos se incluyen en la cadena de consulta cuando se envía el formulario

Esta convención es una recomendación del W3C. El W3C recomienda que todos los servidores web admitan separadores de punto y coma además de los separadores ampersand [6] para permitir la aplicación / x-www-form-urlencoded cadenas de consulta en URLs dentro de documentos HTML sin tener que escapar entre sí.

Técnicamente, el contenido del formulario solo se codifica como una cadena de consulta cuando el método de envío de formularios es GET. La misma codificación se usa de forma predeterminada cuando el método de envío es POST, pero el resultado no se envía como una cadena de consulta, es decir, no se agrega a la URL de acción del formulario. Más bien, la cadena se envía como el cuerpo de la solicitud HTTP.


81
2018-04-07 07:49



Query String: ?strID=XXXX&strName=yyyy&strDate=zzzzz

antes de redirigir:

string queryString = Request.QueryString.ToString();

Response.Redirect("page.aspx?"+queryString);

29
2018-04-07 07:50



Intenta así. Debería funcionar

Response.Redirect(String.Format("yourpage.aspx?strId={0}&strName={1}&strDate{2}", Server.UrlEncode(strId), Server.UrlEncode(strName),Server.UrlEncode(strDate)));

14
2018-04-10 11:14



~mypage.aspx?strID=x&strName=y&strDate=z

6
2018-04-07 07:48



Esto se puede hacer usando:

Response.Redirect("http://localhost/YourControllerName/ActionMethodName?querystring1=querystringvalue1&querystring2=querystringvalue2&querystring3=querystringvalue3");

4
2018-05-31 02:56



Yo uso AbsoluteUri y puedes obtenerlo así:

string myURI = Request.Url.AbsoluteUri;
 if (!WebSecurity.IsAuthenticated) {
        Response.Redirect("~/Login?returnUrl="
            + Request.Url.AbsoluteUri );

Luego, después de iniciar sesión:

var returnUrl = Request.QueryString["returnUrl"];
 if(WebSecurity.Login(username,password,true)){
                Context.RedirectLocal(returnUrl);

Funciona bien para mí


1
2018-06-12 22:30