Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda btn OnClientClick mostrar capa

Estas en el tema de Ayuda btn OnClientClick mostrar capa en el foro de .NET en Foros del Web. Buenos dias, tengo una pagina de asp,net con esta capa <div id="capaEspera" class="capaInhabilitar" style=" z-index:100; left: 0px; visibility: hidden; top: 64px;"> <br /><br /><br /><br ...
  #1 (permalink)  
Antiguo 27/08/2009, 05:06
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda btn OnClientClick mostrar capa

Buenos dias,
tengo una pagina de asp,net con esta capa

<div id="capaEspera" class="capaInhabilitar" style=" z-index:100; left: 0px; visibility: hidden; top: 64px;">
<br /><br /><br /><br /><br /><br /><br /><br />
<div id ="mensaje" runat ="server" class ="mensaje" >
<table >

<tr><td><img alt ="Procesando" style ="vertical-align :middle ;" src="img/progress.gif" /></td></tr>
<tr><td>
<asp:Label ID="Label4" runat="server" Text="Por favor, espere mientras se procesa el fichero. Gracias "></asp:Label></td></tr>
</table>
</div>
</div>

y quiero que esta capa se muestre al pulsar el boton y segun he visto el codigo hay que ponerlo en OnClientClick de las propiedades del boton pero no se como hacerlo. Doy las gracias de antemano es para el trabajo y me estan metiendo prisa. Un saludo
  #2 (permalink)  
Antiguo 27/08/2009, 05:14
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Ayuda btn OnClientClick mostrar capa

Primero, la capa o div que quieras mostrar/ocultar por asp.net debe tener el atributo runat="server", sino, no funcionará.

2º El evento del botón es OnClientClick="IDbotón_Click" donde IDbotón es la id del botón que tengas seleccionado.

3º En la parte del code behind debes añadir para el "IDbotón_Click", tienes que añadir algo parecido a esto:

this.IDcapa.visibility="visible";

(nótese que IDcapa es la id de la capa runat="server" que he mencionado al principio)
  #3 (permalink)  
Antiguo 27/08/2009, 05:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda btn OnClientClick mostrar capa

Te agradezco muchisimo tu respuesta, soy mas de visual basic pero me han metido en este embolado, he puesto en la capa el runas = server y en el onclientclick = btnSubmit2_Click


<asp:Button align="center" ID="btnSubmit2" CssClass="boton" runat="server" Text="Aceptar" this.capaEspera.visibility ="visible" OnClientClick="btnSubmit2_Click" /><br /><br />

pero me falla a la hora de poner this.capaespera.visibility = "visible" se que lo estoy poniendo mal pero te agradeceria que me dijeras como lo pongo Un saludo y gracias de nuevo
  #4 (permalink)  
Antiguo 27/08/2009, 05:52
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Ayuda btn OnClientClick mostrar capa

mmm .... si tienes visual estudio igual al poner los textos te va saliendo la ayuda.
Prueba a poner:

this.capaEspera.visibility = "visible";

(importante que en la ID hagas distinción de mayusculas y minusculas)

o si esto sigue fallando

capaEspera.Visible = true;
  #5 (permalink)  
Antiguo 27/08/2009, 06:39
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda btn OnClientClick mostrar capa

en la parte de codigo de javascript no sale ayuda y he probado aponer (this.capaEspera.visibility = "visible";) y el (capaEspera.Visible = true;) en todas partes incluso ya por probar en la propiedad OnClientClick pero tampoco agradezco mucho tu ayuda pero creo en verdad que el fallo lo tengo a la hora de ponerlo creo que esta bien pero lo pongo donde no debo ya que no tengo ni idea de javascript, yo lo he consegido ejecutarlo en codigo vb de la siguiente manera:
Dim ocultaCapa As String = "<script language='JavaScript'>" & _
"document.getElementById('capaEspera').style.visib ility ='visible';" & _
"</script>"
Page.ClientScript.RegisterStartupScript(Me.GetType , "ocultaCapa", ocultaCapa)

pero claro me aparece como es logico cuando acaba el proceso. Un saludo y gracias de nuevo
  #6 (permalink)  
Antiguo 27/08/2009, 06:45
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Ayuda btn OnClientClick mostrar capa

Es que no se pone en javascript, sino en el code behind de c# o vb.

Y sí, era así como se hacía, perdona que no me acordase del document.getelementbyID ... :S

Última edición por Fuzzylog; 27/08/2009 a las 06:46 Razón: añadir un comentario
  #7 (permalink)  
Antiguo 27/08/2009, 07:01
 
Fecha de Ingreso: agosto-2009
Mensajes: 7
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda btn OnClientClick mostrar capa

Es que si no lo pongo en javascript como consigo que muestre la capa antes de empezar el proceso?, supuestamente en asp.net creo que asta que no termina totalmente la operacion el servidor no devuelve nada a cliente es decir me aparecerá el DIV de cargando cuando haya acabado de grabar ¿? me estoy volviendo loco :). Gracias de nuevo
  #8 (permalink)  
Antiguo 28/08/2009, 03:08
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Ayuda btn OnClientClick mostrar capa

Creo que para un winform se haría así:

Este sería el botón en el winform.

<asp:Button ID="Button1" runat="server" Text="Hacer Visible" OnClick="Button1_Click" /><br />

Este sería el code behind:

private void Button1_Click(object sender, RoutedEventArgs e)
{
capaEspera.Visibility = System.Windows.Visibility.Visible;
}

Si la capa de ID="capaEspera" tiene runat="server", esto debería funcionar.

---

Ahora bien, para un webform hice lo siguiente

Tengo por ejemplo este div:

<div id="capaEspera" runat="server" visible="false" style="width: 200; height: 200; background-color: Black;"></div>

y el botón igualito que el del winform, ahora vamos al code behind

private void Button1_Click(object sender, RoutedEventArgs e)
{
this.capaEspera.Visibley = true;
}

y al pulsar el botón, la capa se ve :)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.