ASP.NET - Como invoco Hipertexto en Control Boton servidor?

   
Vista:

Como invoco Hipertexto en Control Boton servidor?

Publicado por Maximiliano Nicolás (23 intervenciones) el 19/03/2015 22:53:21
Hola, esa es mi cuestión. Quisiera saber como invoco un href al mismo tiempo que también, con ese mismo control de servidor, ejecuto otros códigos... necesito ejecutar un href para hacer referencia a un ID de un div, el cual funcionará de ventana emergente.
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

Como invoco Hipertexto en Control Boton servidor?

Publicado por Khristian (335 intervenciones) el 20/03/2015 18:15:17
Con javascript activas el div.
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

Como invoco Hipertexto en Control Boton servidor?

Publicado por Maximiliano Nicolás (23 intervenciones) el 22/03/2015 21:36:27
Gracias por la guia una vez más Khristian!
En parte pude hacer que funcionara con este codigo en el Page_load

Button1.Attributes.Add("Onclick", "javascript:location.href='#modal'");

donde Button1 es un control servidor y #modal es el id del Div que quiero mostrar.

y en donde al Div que quiero mostrar lo tengo encerrado en un updatepanel con el correspondiente trigger AsynPostback al Button1.

Ahora me surge el siguiente inconveniente: Al hacer click en el Button1 el div se muestra por unos milisegundos y luego se vuelve a ocultar. Estoy seguro que no hace un postback, pero no sé que puede estar pasando para que se vuelva a ocultar el DIV
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

Como invoco Hipertexto en Control Boton servidor?

Publicado por Khristtian (80 intervenciones) el 23/03/2015 01:32:28
Cuando haces clic javascript hace lo suyo, pero la llamada de servidor hace postback, y de vuelta lo deja como estaba.

Debes saber cambiar su estado de visualizacion, de manera que el postback lo mantenga.

La idea es que tu llamada a la funcion javascript alterne la visualizacion del div.

style.display = 'none' / 'block'

-------------------------------------------------------------------------

Tambien puedes ustilizar el ajaxcontroltoolkit

http://www.ajaxcontroltoolkit.com/AlwaysVisibleControl/AlwaysVisibleControl.aspx

Puedes por codigo definir su visualizacion, asi cuando lo necesites se va a mantener visible, aun en los postback.
Cuando lo quieras ocultar, también lo puedes hacer por código.

Te adjunto una imagen de un sistema donde desde un botón (+) visualizo el panel desde donde se hacen otras tareas.
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

Como invoco Hipertexto en Control Boton servidor?

Publicado por Maximiliano Nicolás (23 intervenciones) el 23/03/2015 17:35:01
Recién probé un par de códigos, hasta usando un hiddenField para guardar un valor temporal que señale cuando está o no visible pero no hubo caso... igualmente en ningún momento utilizo la propiedad display ya que lo que realiza el div al mostrarse y ocultarse es una transición en css, te dejo el código:

.VentanaEmergente
{
position: fixed;
font-family: Arial, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;

}

.VentanaEmergente:target {
opacity:1;
pointer-events: auto;
}

.modalbox{
width: 400px;
position: relative;
padding: 5px 20px 13px 20px;
background: #fff;
border-radius:3px;
-webkit-transition: all 500ms ease-in;
-moz-transition: all 500ms ease-in;
transition: all 500ms ease-in;

}

.movedown {
margin: 0 auto;
}

.VentanaEmergente:target .movedown{
margin:10% auto;
}

.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: 1px;
text-align: center;
top: 1px;
width: 24px;
text-decoration: none;
font-weight: bold;
border-radius:3px;
font-size:16px;
}


donde el modalbox es una clase para un div dependiente del div principal que quiero mostrar/ocultar y donde close es una clase para un boton, el cual oculta el mensaje....

Lo que no queria era llegar a usar el modalpopupextender y aprender a hacerlo por mi cuenta.
El control AJAX alwaysVisible tampoco funciona debido a que el DIV no esta definido runat="server", y al definirlo del lado del servidor tampoco funcionó.
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

Como invoco Hipertexto en Control Boton servidor?

Publicado por Khristtian (80 intervenciones) el 25/03/2015 01:52:44
Para eso tus llamadas de servidor tendrán que ser vía ajax por javascript, ya no via code behind.

Ahora, que código de servidor es el que deseas ejecutar antes de que aparezca el div modal ?

En cuanto a tu div modal:
Ese div modal lo puedes tener oculto y activarlo vía javascrip, como antes te dije, pero vía CSS..
Para la transición, en la misma función javascript le asignas al div el CSS que lo muestra con transición.
Cuando lo ocultas, le asignas el CSS que lo deja oculto.
En resumen, debes tener dos CSS para alternar entre ellos.

Te dejo esto para ver algo de CSS3
http://www.esandra.com/transformaciones-css3-transiciones-animaciones-css3
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

Como invoco Hipertexto en Control Boton servidor?

Publicado por Maximiliano Nicolás (23 intervenciones) el 26/03/2015 05:22:20
El codigo de servidor a ejecutar es el que decidirá si mostrar el modal con un mensaje exitoso o con un mensaje de error en el caso de que la consulta SQL fracase... de todas formas no me voy a complicar mucho, lo haré de otra forma ya que todavia no me llevo bien con javascript.
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