none
Problemas al pasar por POST datos de una página a otra RRS feed

  • Pregunta

  • Buenas tardes chicos y chicas o chicas y chicos,

    Tengo una cosa que, aunque parece simple no se porqué no me sale, pero el caso es que es importante porque he tocado mucho código de la página para ello y volver atrás es una puñeta. Os cuento para que me iluminéis.

    Os pongo el ejemplo real para que sea muy claro y mas gráfico (no pretendo publicitarme x) Si entras en mi página "http://www.nones.es/Turquia/Estambul-Capadocia/" podrás ver en el lado derecho de ésta las fechas en las cuales este viaje tiene salida, el caso es que si pulso sobre una fecha (por ejemplo el 14 de noviembre) salta a la página "http://www.nones.es/Turquia/Estambul-Capadocia/casual/default.aspx?ifv=867&hs=HnjIDv21e3NemPYhrEYvagaEBtk=&hsfv=kCaX7qWWl2ty7qyeXM982c9Ek/I=&idv=1079&idg=1"

    El problema, como veis es muy claro. Yo lucho (y de hecho es de lo que vivo)  el posicionamiento SEO de la página, y para ello, la url tiene que estar limpia de tanto dato ya que, si no, no se posiciona bien. Ahora viene lo que es complicado de explicar para mi: Para crear esa cadena de todas las salidas, cada una de las fechas, lo hago a través del .aspx.vb escibiéndo el html a mano (por decirlo así) Os pongo el ejemplo:

    textoFechas += "<a href='" + Application("raizWebEnt") + Raiz + "/" + Plantilla + "/" + Subplantilla + "/default.aspx?ifv=" + row("idFechaViaje").ToString.Trim + "&hs=" + Hash + "&hsfv=" + HashV + "&idv=" + idViaje.ToString.Trim + "&idg=" + Session("idg").ToString.Trim + "' class='EnlaceTabla'>"

    textoFechas += Day(row("fechaInicio")).ToString.Trim + " " + MonthName(Month(row("fechaInicio")).ToString.Trim).ToString.Trim + ". " + Diferencia.ToString + " Días. " + FormatNumber(row("Precio"), 2).ToString.Trim + " €</a><br /><br />"

    Con lo que el código html se crea a mano y no se envía por POST.

    El caso es que no creo un form en la .aspx porque ya está el principal de mi hoja de plantilla que se llama "form1" pero si creo inputs type hidden dónde les cargo la info. El caso es que he cambiado las cadenas que antes os he puesto (las de textoFechas) por una llamada a un javascript que carga estos input type y les hace el submit. Os pego el código de la función para que veáis

    function pasaExp(idfv, hach, hashv, idv, idg, base, raiz, plantilla, subplantilla) {
                var tIdfv = document.getElementById("ifv");
                var tHs = document.getElementById("hs");
                var tHsfv = document.getElementById("hsfv");
                var tIdv = document.getElementById("idv");
                var tIdg = document.getElementById("idg");

                tIdfv.value = idfv;
                tHs.value = hach;
                tHsfv.value = hashv;
                tIdv.value = idv;
                tIdg.value = idg;

                var expEnv = document.getElementById("form1");
                expEnv.method = 'POST'
                expEnv.action = base + raiz + '/' + plantilla + '/' + subplantilla + '/'
                expEnv.submit();
            }El caso es que carga lo input y hace el submit a la página, pero al cargar la página y depurar veo que en Request.Form no pasa ninguno de los campos, y no se a que es debido ¿Podéis, por favor, ayudarme?

    Espero haberlo explicado con claridad y, si hay otra forma de hacer esto soy todo oídos

    Gracias

    martes, 20 de octubre de 2015 17:50