RECARGA DE PAGINA EN ASP

17/01/2007 - 17:45 por jankoesp | Informe spam
Hola:

Tengo una pagina asp que esta como dividida en dos cuerpos (parte 1 y
parte 2), uno que hace un mantenimiento de personas -logico de
negocio-, y otro que muestra ese mantenimiento y el formulario con los
datos necesarios para llevar a cabo dicho mantenimiento, todo en la
misma asp.

O sea, algo asi

...
Response.Write("<script>alert('cero');</script>")
<%If (Request.Form<>"") Then%> (parte 1)

Response.Write("<script>alert('uno');</script>")
realizo la accion de meter en base de datos los datos del
formulario que tengo en la (parte 2)

<%Else%> (parte 2)

Response.Write("<script>alert('dos');</script>")
muestro a las personas
tengo un formulario que relleno con datos y que hace un submit
sobre la propia pagina

<%end if%>

la cuestion esta en que no se como refrescar la pagina asp, una vez he
rellenado los datos (ha pasado por la parte 2), y he hecho el submit
(ha pasado por la parte 1). o sea, quiero que una vez metido los datos,
y haciendo el submit me muestre la misma pagina (sin abrir otra nueva)
con los datos actualizados...

habia pensado en sacar la parte de "muestro a las personas" fuera de la
estructura <%if ... endif%> pero viendo los alerts que pongo a modo de
depuracion, veo que hace la secuencia-> dos -> cero -> uno, o sea que
primero haria la parte comun (alert cero) y luego la logica de negocio
(alert uno)..

en fin, a ver si alguien me puede ayudar. cualquier comentario,
sugerencia, otra forma de hacerlo, etc es bienvenida!

gracias!

Preguntas similare

Leer las respuestas

#1 jankoesp
18/01/2007 - 10:57 | Informe spam
Gracias Matias por la respuesta, me ha dado una idea, yo creo que tengo
lo que tu expresas pero de otra forma, y pensando en tu respuesta
pienso que lo tendria haciendo lo siguiente:

<% if request.form <> "" %>
logica de negocio
<%end if%>

<body>
presentacion de datos
formulario con el submit a la propia pagina
...

voy a ver como se me da la cosa, gracias!

Matias Iacono ha escrito:

No entiendo muy bien la logica implementada aqui.

Pero generalmente, el camino mas simple es separar por completo el codigo
del HTML. Para esto, se puede tener un SELECT CASE tanto para el codigo, como
para el HTML.

Un ejemplo:

<%

Accion = request.form("Accion")

select case Accion
case 1
Logica para 1
case 2
Logica para 2
end select

%>
<body ... >
<%
select case Accion
case 1
%>
Codigo HTML para la parte 1
Ademas, aca se hace codigo para mostrar la info
<%
case 2
%>
Codigo HTML para la parte 2
<%
end select
%>

Accion es un campo hidden que puedes tener en el formulario de cualquier de
las partes. Luego, con solo cambiar la variable Accion de 1 a 2 o de 2 a 1,
puedes hacer el switch entre vistas.

Saludos.

Microsoft MVP
Orador Regional INETA


"" wrote:

> Hola:
>
> Tengo una pagina asp que esta como dividida en dos cuerpos (parte 1 y
> parte 2), uno que hace un mantenimiento de personas -logico de
> negocio-, y otro que muestra ese mantenimiento y el formulario con los
> datos necesarios para llevar a cabo dicho mantenimiento, todo en la
> misma asp.
>
> O sea, algo asi
>
>
> Response.Write("<script>alert('cero');</script>")
> <%If (Request.Form<>"") Then%> (parte 1)
>
> Response.Write("<script>alert('uno');</script>")
> realizo la accion de meter en base de datos los datos del
> formulario que tengo en la (parte 2)
>
> <%Else%> (parte 2)
>
> Response.Write("<script>alert('dos');</script>")
> muestro a las personas
> tengo un formulario que relleno con datos y que hace un submit
> sobre la propia pagina
>
> <%end if%>
>
> la cuestion esta en que no se como refrescar la pagina asp, una vez he
> rellenado los datos (ha pasado por la parte 2), y he hecho el submit
> (ha pasado por la parte 1). o sea, quiero que una vez metido los datos,
> y haciendo el submit me muestre la misma pagina (sin abrir otra nueva)
> con los datos actualizados...
>
> habia pensado en sacar la parte de "muestro a las personas" fuera de la
> estructura <%if ... endif%> pero viendo los alerts que pongo a modo de
> depuracion, veo que hace la secuencia-> dos -> cero -> uno, o sea que
> primero haria la parte comun (alert cero) y luego la logica de negocio
> (alert uno)..
>
> en fin, a ver si alguien me puede ayudar. cualquier comentario,
> sugerencia, otra forma de hacerlo, etc es bienvenida!
>
> gracias!
>
>
Respuesta Responder a este mensaje
#2 Dani Castillo
18/01/2007 - 13:00 | Informe spam
En estas situaciones yo hago algo parecido, pero te recomiendo usar un
parametro especifico tal como dice Matias, te evitas sustos mas adelante :-)
imagina que dentro de unos meses por lo que sea decides llamar a esa pagina
desde un formulario (ej. porque quieres hacer un desplegable tipo combo para
saltar a las secciones o similar) te encontraras con un error inesperado que
puede costarte encontrar, asi que mejor "atar bien las cosas" y es mas
facilmente ampliable

algo como

<%
comando=request.form ("Comando")
if comando="actualizar" then
' guardo los datos del form
end if
if comando="anyadir" then
' por ejemplo para aumentar funcionalidad
inserta registro y posiciona en ese nuevo registro creado
end if

%>
' Presentacion y/o formulario de datos
<form action = esta misma pagina.
<input type=hidden name="Comando" value="actualizar"
...
</form>

<form action= >
<input type=hidden name="Comando" value="anyadir">



de esta forma puedes incluso tener un javascript que modifique el valor del
campo comando en funcion de si quieres modificar el registro existente o
usarlopara añadir datos nuevos, etc

escribió en el mensaje
news:
Gracias Matias por la respuesta, me ha dado una idea, yo creo que tengo
lo que tu expresas pero de otra forma, y pensando en tu respuesta
pienso que lo tendria haciendo lo siguiente:

<% if request.form <> "" %>
logica de negocio
<%end if%>

<body>
presentacion de datos
formulario con el submit a la propia pagina
...

voy a ver como se me da la cosa, gracias!

Matias Iacono ha escrito:

No entiendo muy bien la logica implementada aqui.

Pero generalmente, el camino mas simple es separar por completo el codigo
del HTML. Para esto, se puede tener un SELECT CASE tanto para el codigo,
como
para el HTML.

Un ejemplo:

<%

Accion = request.form("Accion")

select case Accion
case 1
Logica para 1
case 2
Logica para 2
end select

%>
<body ... >
<%
select case Accion
case 1
%>
Codigo HTML para la parte 1
Ademas, aca se hace codigo para mostrar la info
<%
case 2
%>
Codigo HTML para la parte 2
<%
end select
%>

Accion es un campo hidden que puedes tener en el formulario de cualquier
de
las partes. Luego, con solo cambiar la variable Accion de 1 a 2 o de 2 a
1,
puedes hacer el switch entre vistas.

Saludos.

Microsoft MVP
Orador Regional INETA


"" wrote:

> Hola:
>
> Tengo una pagina asp que esta como dividida en dos cuerpos (parte 1 y
> parte 2), uno que hace un mantenimiento de personas -logico de
> negocio-, y otro que muestra ese mantenimiento y el formulario con los
> datos necesarios para llevar a cabo dicho mantenimiento, todo en la
> misma asp.
>
> O sea, algo asi
>
>
> Response.Write("<script>alert('cero');</script>")
> <%If (Request.Form<>"") Then%> (parte 1)
>
> Response.Write("<script>alert('uno');</script>")
> realizo la accion de meter en base de datos los datos del
> formulario que tengo en la (parte 2)
>
> <%Else%> (parte 2)
>
> Response.Write("<script>alert('dos');</script>")
> muestro a las personas
> tengo un formulario que relleno con datos y que hace un submit
> sobre la propia pagina
>
> <%end if%>
>
> la cuestion esta en que no se como refrescar la pagina asp, una vez he
> rellenado los datos (ha pasado por la parte 2), y he hecho el submit
> (ha pasado por la parte 1). o sea, quiero que una vez metido los datos,
> y haciendo el submit me muestre la misma pagina (sin abrir otra nueva)
> con los datos actualizados...
>
> habia pensado en sacar la parte de "muestro a las personas" fuera de la
> estructura <%if ... endif%> pero viendo los alerts que pongo a modo de
> depuracion, veo que hace la secuencia-> dos -> cero -> uno, o sea que
> primero haria la parte comun (alert cero) y luego la logica de negocio
> (alert uno)..
>
> en fin, a ver si alguien me puede ayudar. cualquier comentario,
> sugerencia, otra forma de hacerlo, etc es bienvenida!
>
> gracias!
>
>



Respuesta Responder a este mensaje
#3 jankoesp
24/01/2007 - 00:29 | Informe spam
Gracias a ambos por la respuesta, que me han servido como base. Ahora
ya no estoy con eso, he cambiado a otra cosa, de todas formas como digo
gracias!


On 18 ene, 13:00, "Dani Castillo"
wrote:
En estas situaciones yo hago algo parecido, pero te recomiendo usar un
parametro especifico tal como dice Matias, te evitas sustos mas adelante :-)
imagina que dentro de unos meses por lo que sea decides llamar a esa pagina
desde un formulario (ej. porque quieres hacer un desplegable tipo combo para
saltar a las secciones o similar) te encontraras con un error inesperado que
puede costarte encontrar, asi que mejor "atar bien las cosas" y es mas
facilmente ampliable

algo como

<%
comando=request.form ("Comando")
if comando="actualizar" then
' guardo los datos del form
end if
if comando="anyadir" then
' por ejemplo para aumentar funcionalidad
inserta registro y posiciona en ese nuevo registro creado
end if

%>
' Presentacion y/o formulario de datos
<form action = esta misma pagina.
<input type=hidden name="Comando" value="actualizar"
...
</form>

<form action= >
<input type=hidden name="Comando" value="anyadir">


de esta forma puedes incluso tener un javascript que modifique el valor del
campo comando en funcion de si quieres modificar el registro existente o
usarlopara añadir datos nuevos, etc

escribió en el mensajenews:



> Gracias Matias por la respuesta, me ha dado una idea, yo creo que tengo
> lo que tu expresas pero de otra forma, y pensando en tu respuesta
> pienso que lo tendria haciendo lo siguiente:

> <% if request.form <> "" %>
> logica de negocio
> <%end if%>

> <body>
> presentacion de datos
> formulario con el submit a la propia pagina
> ...

> voy a ver como se me da la cosa, gracias!

> Matias Iacono ha escrito:

>> No entiendo muy bien la logica implementada aqui.

>> Pero generalmente, el camino mas simple es separar por completo el codigo
>> del HTML. Para esto, se puede tener un SELECT CASE tanto para el codigo,
>> como
>> para el HTML.

>> Un ejemplo:

>> <%

>> Accion = request.form("Accion")

>> select case Accion
>> case 1
>> Logica para 1
>> case 2
>> Logica para 2
>> end select

>> %>
>> <body ... >
>> <%
>> select case Accion
>> case 1
>> %>
>> Codigo HTML para la parte 1
>> Ademas, aca se hace codigo para mostrar la info
>> <%
>> case 2
>> %>
>> Codigo HTML para la parte 2
>> <%
>> end select
>> %>

>> Accion es un campo hidden que puedes tener en el formulario de cualquier
>> de
>> las partes. Luego, con solo cambiar la variable Accion de 1 a 2 o de 2 a
>> 1,
>> puedes hacer el switch entre vistas.

>> Saludos.

>> Microsoft MVP
>> Orador Regional INETA

>> "" wrote:

>> > Hola:

>> > Tengo una pagina asp que esta como dividida en dos cuerpos (parte 1 y
>> > parte 2), uno que hace un mantenimiento de personas -logico de
>> > negocio-, y otro que muestra ese mantenimiento y el formulario con los
>> > datos necesarios para llevar a cabo dicho mantenimiento, todo en la
>> > misma asp.

>> > O sea, algo asi

>> >
>> > Response.Write("<script>alert('cero');</script>")
>> > <%If (Request.Form<>"") Then%> (parte 1)

>> > Response.Write("<script>alert('uno');</script>")
>> > realizo la accion de meter en base de datos los datos del
>> > formulario que tengo en la (parte 2)

>> > <%Else%> (parte 2)

>> > Response.Write("<script>alert('dos');</script>")
>> > muestro a las personas
>> > tengo un formulario que relleno con datos y que hace un submit
>> > sobre la propia pagina

>> > <%end if%>

>> > la cuestion esta en que no se como refrescar la pagina asp, una vez he
>> > rellenado los datos (ha pasado por la parte 2), y he hecho el submit
>> > (ha pasado por la parte 1). o sea, quiero que una vez metido los datos,
>> > y haciendo el submit me muestre la misma pagina (sin abrir otra nueva)
>> > con los datos actualizados...

>> > habia pensado en sacar la parte de "muestro a las personas" fuera de la
>> > estructura <%if ... endif%> pero viendo los alerts que pongo a modo de
>> > depuracion, veo que hace la secuencia-> dos -> cero -> uno, o sea que
>> > primero haria la parte comun (alert cero) y luego la logica de negocio
>> > (alert uno)..

>> > en fin, a ver si alguien me puede ayudar. cualquier comentario,
>> > sugerencia, otra forma de hacerlo, etc es bienvenida!

>> > gracias!- Ocultar texto de la cita -- Mostrar texto de la cita -
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida