2011-06-02 37 views
5

Escenario 1 (que funciona) Este es un POC que he creado. Tengo un administrador de scripts, un cuadro de texto html, un botón ASP.NET, un panel de actualización con un conjunto de activadores asíncrono para el evento Click del botón mencionado anteriormente. Para html textbox tengo, onkeyup='__doPostBack('<%=ASPBUTTON.ClientID%>',''). Y FUNCIONA, se golpea el evento Click del botón, y el panel de actualización se actualiza de forma asíncrona.__pospostback no funciona como se esperaba

Escenario 2 (No está funcionando) La única diferencia con mi base de código real es que tengo un datetimepicker JQUERY FILAMENTGROUP cuya onchange evento se está utilizando en lugar de onchange html del cuadro de texto. Además, aquí mi página usa una página maestra. Ahora, mi problema es que cuando el evento onchange para datetimepicker se activa, la solicitud va del lado del servidor, pero el evento BUTTON click no se dispara.

Más detalles, Quiero actualizar el panel de actualización automáticamente en la selección de datetimepicker. Entonces, el botón estaría oculto a través de css (display: none).

botón Identificación - btnDateRangeCallback

datetimepicker Cuadro de texto (control no ASP) - dateRange

 onChange: function() {__doPostBack('<%=btnDateRangeCallback.ClientID%>', $('#dateRange').val());} 

[Por favor, recuerdo que dije que funciona en el caso de mi simplista POC, mientras que en mi base de código real soy utilizando una página maestra para heredar, y por lo tanto todos estos controles se colocan en un marcador de contenido. Además, está ocurriendo la devolución de datos, y puedo ver que _EVENTTARGET y _EVENTARGUMENT se envían correctamente si rompo en Page_Load]

Por favor ayuda.

Para decirlo más simplemente, Después de devolución de datos, cuando rompa en Page_Load, veo el contenido Request.Form como, ctl00% 24ContentPlaceHolder1% 24SMgr1 = ctl00% 24ContentPlaceHolder1% 24SMgr1% 7cctl00_ContentPlaceHolder1_btnDateRangeCallback & __EVENTTARGET = ctl00_ContentPlaceHolder1_btnDateRangeCallback & _ EVENTARGUMENT = un 5% 2F3% 2f2011 + - + 6% 2F2% 2f2011 & _VIEWSTATE =% 2fwEPDwULLTE3NDY5NDIwMDRkZIuTqMNNsFHlRYhjpKaUCaCXj42h & _ EVENTVALIDATION =% 2fwEWAgLBx52kBALP6Ln6DdkkwE% 2frVIKQzKE1L0k4QhIc768w & _ASYNCPOST = true &

Por qué no está de eventos Click btnDateRangeCallback golpear ???

Respuesta

5

Uso del UniqueID lugar: ciudad __doPostBack('<%=btnDateRangeCallback.UniqueID %>', ...

+0

Muy fácil, al punto y cierto.¡¡¡Gracias!!! – EagerToLearn

0

¿Por qué no simplemente hacer clic en el botón?

onchange="$('#<%= ASPBUTTON.ClientID %>').click()" 

(Idealmente, no utilice los controladores de eventos en línea, ya sea ...)

Si eso no es bueno para usted, usted podría trabajar alrededor de ella utilizando __EVENTTARGET y __EVENTARGUMENT (ver this article de una guía).

+0

Hola, gracias. He actualizado el contexto del problema. por favor, eche un vistazo – EagerToLearn

Cuestiones relacionadas