tengo la siguiente clase
Código:
Public Class CtrlManipularDatos Implements ICtrlEdicion .... 'Declaro el Evento que notifica que se ejecuto la accion de busqueda Public Event BuscarEjecutado(ByVal elementosEncontrados As Integer) ' Metodo con el cual se decide que accion se debe ejecutar 'dependiendo del estado actual de la pantalla que invoca Public Sub EjecutarAccion() Implements ICtrlEdicion.EjecutarAccion Select Case Me.EstadoAgregar.Accion Case SeguimientoEntidades.EntListas.Acciones.Consultar Buscar() Case SeguimientoEntidades.EntListas.Acciones.Eliminar Eliminar() Case SeguimientoEntidades.EntListas.Acciones.Insertar Insertar() Case SeguimientoEntidades.EntListas.Acciones.Modificar Modificar() Case SeguimientoEntidades.EntListas.Acciones.PrepararNuevo Me.EstadoAgregar.Accion = SeguimientoEntidades.EntListas.Acciones.PrepararNuevo End Select End Sub Public Sub Buscar() Implements ICtrlEdicion.Buscar 'Ejecuto Instruccines de busqueda .... 'lanzo el evento que notifica a la aplicacion 'que se ejecuto la instruccion de buscar 'enviando como argumentos el contador de los elementos encontrados RaiseEvent BuscarEjecutado(Me.EstadoAgregar.Elementos.Count) End Sub
y en la pagina en cuestion tengo el siguiente codigo
Código:
Partial Class Captura_CapturaDatos Inherits System.Web.UI.Page Dim NombreSesionControl As String = "capturaincidente" Dim EstadoModulo As SeguimientoEntidades.EntListas.Estados Dim ctrl As SeguimientoControl.IControl Private ReadOnly Property Controlador() As SeguimientoControl.CtrlManipularDatos Get Return CType(ctrl, SeguimientoControl.CtrlManipularDatos) End Get End Property Private ReadOnly Property Estado() As SeguimientoControl.EstRegistrarIncidente Get Return CType(ctrl, SeguimientoControl.CtrlManipularDatos).Estado End Get End Property Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load EstablecerEventosJS() CargarControlador() If Not Page.IsPostBack Then CargaDatos() End If End Sub Private Sub CargarControlador(Optional ByVal recrear As Boolean = False) If Page.Session.Item(NombreSesionControl) Is Nothing Or recrear Then ctrl = New SeguimientoControl.CtrlManipularDatos ctrl.Estado = New SeguimientoControl.EstRegistrar 'Se agrega el controlador para el evento BuscarEjecutado haciendo 'referencia al metodo BuscarEjecutado ubicado en la pagina AddHandler Controlador.BuscarEjecutado, AddressOf Me.BuscarEjecutado ' Establece el controlador en estado de consulta Controlador.EstadoConsulta() Else ctrl = CType(Session.Item(NombreSesionControl), SeguimientoControl.IControl) End If GardarControlador() End Sub 'Metodo que captura el evento BuscarEjecutado de la clase CtrlManipularDatos Private Sub BuscarEjecutado(ByVal elementosencontrados As Integer) If elementosencontrados > 0 Then ObtieneDatos() Else LimpiarDatos() Me.txtDescripcion.Text = "No encontrado" End If End Sub 'Metodo en el cual desplegamos en la pagina los datos obtenidos Private Sub ObtieneDatos() txtObservaciones.Text = Me.Estado.Incidente.Observaciones ddlInstalacion.SelectedValue = Me.Estado.Incidente.IdInstalacion ddlLugares.SelectedValue = Me.Estado.Incidente.IdLugar Me.txtFechaEvento.Text = Me.Estado.Incidente.FechaIncidente Me.txtFechaIniRestP.Text = Me.Estado.Incidente.FechaInicioRestP Me.txtFechaIniRestR.Text = Me.Estado.Incidente.FechaInicioRestR Me.txtFechaRepP.Text = Me.Estado.Incidente.FechaReparacionP Me.txtFechaRepR.Text = Me.Estado.Incidente.FechaReparacionR Me.txtFechaTermTrabP.Text = Me.Estado.Incidente.FechaTerminoTrabP Me.txtFechaTermTrabR.Text = Me.Estado.Incidente.FechaTerminoTrabR Me.txtHora.Text = Me.Estado.Incidente.Hora End Sub
y por ultimo tengo elsiguiente codigo con el cual es invocado el metodo Ejecutar accion
Código:
Protected Sub btnBuscar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnBuscar.Click 'EditaDatos(True) EstadoBotones(SeguimientoEntidades.EntListas.Estados.Consulta) Controlador.EstadoConsulta() EstableceParametrosBusqueda() 'Se invoca al metodo que ejecuta la búsqueda Ejecutar() End Sub Private Sub Ejecutar() ObtieneEstado() 'Se ejecuta la accion y en respuesta se lanza un evento Controlador.EjecutarAccion() GardarControlador() EditaDatos(False) End Sub
En otras palabras la secuencia es la siguiente
se instacia la clase CtrlManipularDatos en la variable ctrl la cual es accesada mediante la propiedad Controlador de la pagina, se agrega el controlador al evento BuscarEjecutado
Cuando ocurre un click en el boton buscar se establece el modo del controlador en modo de consulta y se ejecuta el metodo Ejecutar en el cual se ejecuta el metodo Controlador.EjecutarAccion que para para este caso es consultar
Al ejecutarse EjecutarAccion de la clase CtrlManipularDatos se decide que se ejecute el metodo de buscar de la clase, dentro de la cual despues de ejecutar las acciones correspondientes se lanza el evento BuscarEjecutado
el cual es capturado por el metodo BuscarEjecutado de la pagina que invoco almetodo de la clase, dentro del cual si los elementos encontrados fueron mayor a 0 se se pintan los datos encontrados dentro de los controles correspondientes de la pagina o en su defecto si no se encontraron datos que despleiqgue yuna leyenda dentro de uno de esos controles.. UFFF (me canse jeje), es ahi que aunque se hayan encontrado datos y todo se haya ejecutado correctamente, cuando se despliega la pagina no hay ningun dato en los controles
despues de tanto rollo espero haberme explicado y que alguien me pueda ayudar
cual quier idea o comentario sera agradecido y
gracias por el tiempo que se tomen en leer mi problema