2009-05-27 5 views
6

1) usuario seleccionar un elemento en DropDownList es considerada como datos de devolución, y por esa razón DropDownList implementa IPostBackDataHandler.IPostBackEventHandler VS IPostBackDataHandler

a) ¿Pero por qué el usuario no se está moviendo (en Calendario control) a otro mes también se considera una información de devolución de datos? Por lo tanto, ¿por qué Calendar implementa IPostbackEventHandler y no IPostbackDataHandler?


2)
a) que asumen que los controles de aplicación IPostBackEventHandler en lugar de IPostBackDataHandler nunca reciben datos de devolución?


b) Si los instrumentos de control IPostBackDataHandler, a continuación evento de devolución de control se dispara cada vez que cambian sus datos, incluso si ese control no provocó una devolución de datos

Pero si el control implementa IPostbackEventHandler, entonces solo la hora en que se generará el evento de devolución del control es si ese control también desencadenó una devolución de datos?

Respuesta

19
  1. DropDownList vs interfaces de eventos de calendario:
    • La selección en la lista desplegable se considera datos. Debería enviar la información en la lista desplegable como datos (en la mayoría de los casos).
    • Cambiar la selección en el control Calendar se considera un evento, pero no un evento que envía datos. Simplemente desencadena un evento para que el código sepa que cambia el estado del control.
      La diferencia entre estos dos es muy sutil.
  2. La documentación para IPostBackEventHandler y IPostBackDataHandler explicar su propósito en la documentación, pero no pueden hacer la distinción clara:
    • IPostBackEventHandler se utiliza para desencadenar eventos que no dependen de los datos, pero en un usuario de acción. Por ejemplo, el control Calendar puede activar un evento para cuando se hace clic en una fecha. Este evento depende de las acciones de un usuario, no de los datos que el usuario ingresó.
    • IPostBackDataHandler se utiliza para desencadenar eventos que dependen de los datos del control. Por ejemplo, un TextBox tiene un evento OnTextChanged, que solo debe activarse si el texto en el TextBox cambia.
+6

Si pudiera, me gustaría aceptar esta respuesta en lugar del tipo que se pidió y nunca miró hacia atrás. –

3

Para añadir, los controles que apliquen IPostBackDataHandler no se basa en el estado de vista para la retención de datos a través de las devoluciones de datos.

Editar: Pero todos los controles dependen del estado a fin de mantener la visibilidad

+1

+1 - Excelente punto ... – desigeek

Cuestiones relacionadas