• Viernes 26 de Abril de 2024, 04:29

Autor Tema:  obtener valor de funcion javascript con asp.net  (Leído 5804 veces)

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
obtener valor de funcion javascript con asp.net
« en: Lunes 6 de Septiembre de 2010, 17:05 »
0
Hola amigos gracias a la ayuda de todos en la web he podido sacar adelante el proyecto en la empresa donde trabajo, pero todabia tengo una duda que quisiera que me apoyen, bueno les explico:

Tengo un documento en html y la imagen de fondo se tiene que repetir en todo el documento hacia abajo, pero al momento de imprimir la imagen esta tambien salga en la impresión, esto ya lo hice con la etiqueta <img>, ojo que esto no se puede hacer con el background, pero ahora quiero que esta se repita para lo cual necesito saber el tamaño de alto de la pagina, pero como el html esta dentro de un <div> solo nesecito el alto de este <div>, por ello tengo la funcion:

<script>
function div() {
            var tamanio
            tamanio = document.getElementById('contenidos').offsetHeight;
            alert(tamanio)

        }
<script>

<body onload="div()">

Esta funcion me permite capturar el tamaño del <div> luego ejecuto la funcion mediante el onload de la etiqueta body, luego para repetir esta imagen nesecito capturar este valor en una variable asp, pero la tengo que capturar en dentro del body algo como esto:

<html>
<body>
<%        
Dim ls_variable as string
Ls_variable = funcion div()    
%>
………
</body>
</html>

Bueno espero me haya podido darme a entender, si no haganmelo sabor porfavor, desde ya les doy las gracias por su apoyo.

posman

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Re: obtener valor de funcion javascript con asp.net
« Respuesta #1 en: Lunes 6 de Septiembre de 2010, 17:48 »
0
Asi como lo planteas, obtener el valor de una funcion de javascript y guardarlo en una variable de ASP, creo que no se puede.
Lo que se podrias hacer entrar 2 veces en la misma pagina y utilizar una variable que contendria el tamaño y enviarla con un submit o en la direccion de la pagina.

En ASP (en el evento Page_Load) seria primero revisar el QueryString y revisar si "cierta" variable esta definida (por ejemplo ALTO). La primera vez que se entra en la pagina, la variable no estara definida. Si no esta definida, escribes el evento onLoad en el BODY para que se ejecute la funcion de javascript. En javascript, cuando calcules el tamaño, rediriges la pagina hacia ella misma pero ahora con la variable del tamaño:
Código: Text
  1. function div() {
  2.   ...
  3.   window.location = "pagina.asp?tamano=" + variableTamano;
  4. }
  5.  
Ahora en Page_Load al revisar si la variable TAMANO esta definida, como ahora si lo estaria, harias todo lo que necesitas y NO escribirias el evento onLoad en el BODY

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: obtener valor de funcion javascript con asp.net
« Respuesta #2 en: Lunes 6 de Septiembre de 2010, 20:07 »
0
Gracias amigo por tu ayuda, bueno he seguido tu consejo hice lo siguiente:
1. coloce window.location = "marca_agua.aspx?tamanio=" + tamanio;  en la funcion que me devuelve el tamaño hasta ahy todo bien, pero cuando lo ejecuto se retipe varias veces y no hay cuando parar, seguro es porque en el evento unload del body esta incluido.
2. hice una traza donde en la variable Request("tamanio"), encontre el valor que nesecito pero a la segunda refrescada de la ventana pero ya no quiero que siga recargando la ventana.
3. asi que coloque esto

<%
    Dim path As String = "pagina.htm"
    Dim ls_tamanio As String
    ls_tamanio = Request("tamanio")

    if ls_tamanio <> "" then

    Response.Write("<body onload=paginas(" & path & " , contenidos); div()>")
   else
   end if
%>

como veras estoy ejecutando dos funciones en el onload,

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: obtener valor de funcion javascript con asp.net
« Respuesta #3 en: Lunes 6 de Septiembre de 2010, 20:14 »
0
Gracias amigo por tu ayuda, bueno he seguido tu consejo hice lo siguiente:
1. coloce window.location = "marca_agua.aspx?tamanio=" + tamanio; en la funcion que me devuelve el tamaño hasta ahy todo bien, pero cuando lo ejecuto se retipe varias veces y no hay cuando parar, seguro es porque en el evento unload del body esta incluido.
2. hice una traza donde en la variable Request("tamanio"), encontre el valor que nesecito pero a la segunda refrescada de la ventana, pero ya no quiero que siga recargando la ventana.
3. asi que coloque esto como body

<%
Dim path As String = "pagina.htm"
Dim ls_tamanio As String
ls_tamanio = Request("tamanio")

if ls_tamanio <> "" then

    Response.Write("<body onload=paginas(" & path & " , contenidos); div()>")

else

    Response.Write("<body onload=paginas(" & path & " , contenidos)>")

end if
%>

como veras estoy ejecutando dos funciones en el onload, eso es porque estoy llamando en primira funcion a la pagina en el la otra funcion div estoy obteniendo su tamaño, pero con ese if estoy solo ejecutando una funcion cuando obtengo el tamanio, pero quiesiera saber como puedo escribir con el response.write esa linea, ya que estoy teniendo problemas, esta es la etiqueta del body original:

<body onload="paginas('<% =path %>', 'contenidos'); div()">

gracias por tu ayuda.