none
Llamar a evento click de boton RRS feed

  • Pregunta

  • Hola amigos,

    Tengo la siguiente duda, ¿puedo de alguna forma forzar el evento click de un boton en aspx? Os sonara un poco estupido, pero os cuento mi caso. Tengo una libreria llamada Ext.net. Tengo un boton especial que tiene una serie de caracteristicas con el cual yo puedo hacer muchas cosas, eso si, tiene una pega y es que no puedo hacer la llamada a otra pagina por POST, solo puedo por GET (me lo han comentado en su foro). Por ello, me gustaria que una vez finalizado el evento click de este boton (de Ext.Net) se lance el evento de un boton de aspx en el que yo haga un response.redirect y se ejecute una redireccion por POST, para asi recuperar en la pantalla siguienet ciertos datos.

    No se si esto se podra o algo parecido...

    Gracias

     

     

    • Cambiado Enrique M. Montejo miércoles, 1 de febrero de 2012 7:31 desarrollo web (De:Lenguaje VB.NET)
    martes, 31 de enero de 2012 22:24

Respuestas

  • Supongo que puedes hacer, desde el primer botón, algo así como buton2_click(new object, new EventArgs) pero.... ¿no sería mejor una estructura similar a esta?:

     

    private void button1_click(object sender, EventArgs e)
    {
      ...
      redirecciona();
    }
    
    private void button2_click(object sender, EventArgs e)
    {
       redirecciona();
    }
    
    private void redirecciona()
    {
       ...
    }
    

     


    miércoles, 1 de febrero de 2012 8:05
  • Si, de lo que se trata es que te haga sólo el mismo PostBackUrl, ¿no te vale igualarlo en algún evento?

    Estoy pensando en algo así como

    protected void Page_Load(object sender, EventArgs e)
    {
      if(!IsPostback)
         btn1.PostBackUrl = btn2.PostBackUrl;
    }
    

    miércoles, 1 de febrero de 2012 13:14

Todas las respuestas

  • Supongo que puedes hacer, desde el primer botón, algo así como buton2_click(new object, new EventArgs) pero.... ¿no sería mejor una estructura similar a esta?:

     

    private void button1_click(object sender, EventArgs e)
    {
      ...
      redirecciona();
    }
    
    private void button2_click(object sender, EventArgs e)
    {
       redirecciona();
    }
    
    private void redirecciona()
    {
       ...
    }
    

     


    miércoles, 1 de febrero de 2012 8:05
  • Buenos dias;

    El ejemplo que me has puesto no me vale, yo tengo este boton:

    <asp:LinkButton ID="MiBoton" runat="server" PostBackUrl="PaginaDestino.aspx"></asp:LinkButton>
    

     Yo quiero hacer click en un boton, que me serialize un objeto y que luego me fuerze el click de este boton que tengo puesto arriba para que haga el postbakurl.

    • Si cuando pincho en el boton hago un server.transfer en la pagina siguiente el objeto que acabo de serializar y guardar un hidden lo tengo vacio si hago un request.form("CampoHidden").
    • Si lo hago asi, funciona correctamente, pero se ve una pagina en blanco hasta que ejecuta todo el load de la pagina de destino y carga todos los controles:
            Dim context = HttpContext.Current
            context.Response.Clear()
            context.Response.Write("<html><head></head>")
            context.Response.Write(String.Format("<body onload=""document.{0}.submit()"">", "form1"))
            context.Response.Write(String.Format("<form name=""{0}"" method=""{1}"" action=""{2}"" >", "form1", "POST",  "Destino.aspx"))
            context.Response.Write(String.Format("<input name=""MiHidden"" type=""hidden"" value='" & MiHidden.Value & "'>"))
            context.Response.Write("</form>")
            context.Response.Write("</body></html>")
            context.Response.[End]()
    


    Por ello yo necesito hacer un post pero que la primera pagina espere a pintar la segunda hasta que la segunda haya cargado.

    Gracias!!

    miércoles, 1 de febrero de 2012 8:39
  • Si, de lo que se trata es que te haga sólo el mismo PostBackUrl, ¿no te vale igualarlo en algún evento?

    Estoy pensando en algo así como

    protected void Page_Load(object sender, EventArgs e)
    {
      if(!IsPostback)
         btn1.PostBackUrl = btn2.PostBackUrl;
    }
    

    miércoles, 1 de febrero de 2012 13:14