ASP.NET - Problemilla con Response.Redirect

 
Vista:

Problemilla con Response.Redirect

Publicado por Werner (2 intervenciones) el 03/08/2009 10:16:42
Hola, buenos días,

Tengo un problema en una aplicación web que estoy desarrollando en C#.

Resulta que yo estoy generando un formulario HTML metiendo todo el código y controles HTML en una variable de tipo StringBuilder.

Dicho formulario de method="post" en cuanto de al botón Enviar va a redireccionarme a otra web Ejemplo: Default3.aspx.

Bien, mi problema es que en la URL cuando doy al botón Enviar me sale todo el código html del formulario de esta forma:

http://localhost/Default.aspx?Contenido=<label%20for=""><h5>Los%20d atos%20han%20sido%20enviados%20correctamente:</h5></label><div%20id="fondoFormulario"%20class="fondoFo rmulario"><table%20class="resultados"><tbody><tr%2 0class="filaImpar"><th>Funci%c3%b3n</th><th>DNI</th><th>Correo%20Electr%c3%b3nico</th><th>Tipo%20de%20Aeronave</th><th>Matr%c3%adcula</th></tr><tr%20class="filaPar"><td>Titular</td><td>etcetcetc</td><td>[email protected]</td><td>F16</td><td>QS0I</td></tr></tbody></table></div>

Yo creo que es problema del Response.redirect pero no se como ponerlo para que no me salga todo este código implicito.

en mi Response.redirect lo tengo puesto de esta forma:

Response.Redirect("Default.aspx?Contenido=" + Sesion.ToString());

Donde Sesion es mi variable StringBuilder que va guardando todo el código del formulario HTML.

Agradecería que alguien pudiera echarme una mano.

Muchas gracias por adelantado, un saludo!!.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Problemilla con Response.Redirect

Publicado por roger (311 intervenciones) el 03/08/2009 15:00:28
cuando dices codigo implicito te refieres a esto %20, a lo que sale cuando hay tildes, etc????, si es asi, has tratado de obtener ese valor con el Reques.QueryString?, creo que no te tomaria esos caracteres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemilla con Response.Redirect

Publicado por Werner (2 intervenciones) el 04/08/2009 12:05:01
Buenas Roger,

Cuando digo código implicito me refiero efectivamente a %20 etc con sus etiquetas <etc> y demás. Me sale todo el código del formulario html escrito en la URL.
El problema yo creo que está concretamente en que recojo el valor con el Request.QueryString y por ello al estar el formulario a pelo en la variable me lo pega tal cual en la URL.

La solución sería no hacer uso del QueryString, pero no se que mas opciones hay y como se debería de hacer.

Alguna sugerencía?

Un saludo y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:Problemilla con Response.Redirect

Publicado por roger (311 intervenciones) el 04/08/2009 14:55:49
pero la idea tuya es pintar en el webForm el contenido que te llega por queryString???, si es asi, prueba con HtmlEncode y HtmlDecode, que son funciones que le aplicas al texto que deseas tomar como Html, ya que de lo contrario, se tomara el texto tal cual, y no lo validará como texto Html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemilla con Response.Redirect

Publicado por Werner (1 intervención) el 06/08/2009 09:43:31
Hola de nuevo Roger,

Mi formulario no se va a pintar en ningun WebForm, mi formulario esta dentro de una variable de tipo StringBuilter en el que está implicito todo el formulario en código html.
Ejemplo:

Sesion.Append("<form name="formulario_acceder" method="post" action="Default3.aspx" id="formulario_acceder">");

Sesion.Append("<fieldset>");

etc
etc

La cosa es que esto esta en un Default2.aspx y lo devuelvo al Default.aspx de la siguiente manera:

Response.Redirect("Default.aspx?Contenido=" + Sesion.ToString());

Luego, en el Default.aspx lo recogo así:

string InicioSesion = Request.QueryString["Contenido"];

Y me lo pinta perfectamente en la página y todo. El problema es que en la URL del explorador me pone todo el código del formulario que he usado de esta forma:

http://localhost/Proyecto.Web/Default.aspx?Contenido=<label%20for=""><h5>Los%20datos%20han%20sido%20enviados%20correctamente:</h5></label><div%20id="fondoFormulario"%20class="fondoFormulario"><table%20class="resultados"><tbody><tr%20class="filaImpar"><th>Funci%c3%b3n</th><th>DNI</th><th>Correo%20Electr%c3%b3nico</th><th>Tipo%20de%20Aeronave</th><th>Matr%c3%adcula</th></tr><tr%20class="filaPar"><td>Representante</td><td>12312323f</td><td>[email protected]</td><td>f23</td><td>wer34</td></tr></tbody></table></div>

Es decir que me pega tal cual el formulario que yo he creado en el Stringbuilder y me gustaría resolver este problema poque en la URL no debería de mostrarse todo este código...

He probado el System.Web.HttpUtility.HtmlDecode(), Encode, y mas cosas pero no me soluciona nada.

Alguna idea para solucionar el problemilla de la URL?

Un saludo y Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de roger

RE:Problemilla con Response.Redirect

Publicado por roger (311 intervenciones) el 06/08/2009 14:45:06
cuando digo pintar me refiero a que lo que va en la variable es lo que se va a ver en el formulario. Si no quieres que se vea en la url no lo pases por queryString, es decir no lo pases por la Url, utiliza una variable de sesion por ejemplo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar