Foros del Web » Programando para Internet » ASPX (.net) »

Controles personalizados

Estas en el tema de Controles personalizados en el foro de ASPX (.net) en Foros del Web. He creado un grupo de 4 controles personalizados en el mismo proyecto. Genero la DLL y no me marca errores. Agrego el control a la ...
  #1 (permalink)  
Antiguo 13/08/2007, 12:50
 
Fecha de Ingreso: febrero-2006
Mensajes: 155
Antigüedad: 18 años, 3 meses
Puntos: 0
Controles personalizados

He creado un grupo de 4 controles personalizados en el mismo proyecto.
Genero la DLL y no me marca errores.
Agrego el control a la caja de herramientas y todo siguien bien
3 de los controles me trabajan perfectamente
Pero uno me marca este error:

Error al procesar el control - TextBoxSp1
Excepción no controlada.
Referencia a objeto no establecida como instancia de un objeto.


Pero si lo quito del cuadro de herramientas y lo vuelvo agregar ya no me marca el error, hasta un rato despues.

Cuando logro agregarlo me funciona bien.

Aqui esta el código del control.
Ojala alguien me pueda ayudar y el el código tambien le sirva a otros.
Un saludo:

Código:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.RegularExpressionValidator
Imports System.ComponentModel

Public Class TextboxSp
    Inherits TextBox

    Private Req As RegularExpressionValidator
    Private msgError As String = "Error en la entrada de datos"

#Region "ExpresionesRegulares"
    Private sSoloNumeros As String = "^[0-9]*[1-9]+$|^[1-9]+[0-9]*$"
#End Region

Public Property MensajeError() As String
        Get
            Return msgError
        End Get
        Set(ByVal Value As String)
            msgError = Value
        End Set
End Property

Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
        Req = New RegularExpressionValidator
        Req.ControlToValidate = MyBase.ID
        Req.ErrorMessage = msgError
        Req.Display = ValidatorDisplay.Dynamic
        Req.ValidationExpression = sSoloNumeros
        Controls.Add(New LiteralControl(" "))
        Controls.Add(Req)
End Sub

Protected Overrides Sub Render(ByVal Writer As System.Web.UI.HtmlTextWriter)
        MyBase.Render(Writer)
        Req.RenderControl(Writer)
    End Sub
End Class
  #2 (permalink)  
Antiguo 16/08/2007, 14:28
 
Fecha de Ingreso: agosto-2006
Ubicación: en lima peru
Mensajes: 184
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Controles personalizados

puedes colocar el codigo de donde llamas al control
derrepente le falta instancias con "new"

o talvez registrarlo en el webconfig.
  #3 (permalink)  
Antiguo 07/07/2010, 12:43
 
Fecha de Ingreso: marzo-2010
Mensajes: 54
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Controles personalizados

Cita:
Iniciado por robertocorona Ver Mensaje
He creado un grupo de 4 controles personalizados en el mismo proyecto.
Genero la DLL y no me marca errores.
Agrego el control a la caja de herramientas y todo siguien bien
3 de los controles me trabajan perfectamente
Pero uno me marca este error:

Error al procesar el control - TextBoxSp1
Excepción no controlada.
Referencia a objeto no establecida como instancia de un objeto.


Pero si lo quito del cuadro de herramientas y lo vuelvo agregar ya no me marca el error, hasta un rato despues.

Cuando logro agregarlo me funciona bien.

Aqui esta el código del control.
Ojala alguien me pueda ayudar y el el código tambien le sirva a otros.
Un saludo:

Código:
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.RegularExpressionValidator
Imports System.ComponentModel

Public Class TextboxSp
    Inherits TextBox

    Private Req As RegularExpressionValidator
    Private msgError As String = "Error en la entrada de datos"

#Region "ExpresionesRegulares"
    Private sSoloNumeros As String = "^[0-9]*[1-9]+$|^[1-9]+[0-9]*$"
#End Region

Public Property MensajeError() As String
        Get
            Return msgError
        End Get
        Set(ByVal Value As String)
            msgError = Value
        End Set
End Property

Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
        Req = New RegularExpressionValidator
        Req.ControlToValidate = MyBase.ID
        Req.ErrorMessage = msgError
        Req.Display = ValidatorDisplay.Dynamic
        Req.ValidationExpression = sSoloNumeros
        Controls.Add(New LiteralControl(" "))
        Controls.Add(Req)
End Sub

Protected Overrides Sub Render(ByVal Writer As System.Web.UI.HtmlTextWriter)
        MyBase.Render(Writer)
        Req.RenderControl(Writer)
    End Sub
End Class
Lograste resolver este problema?
  #4 (permalink)  
Antiguo 07/07/2010, 16:22
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Controles personalizados

Creo que te hace falte el OnInit de Mybase

Prueba asi
Código ASP:
Ver original
  1. Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
  2.         Req = New RegularExpressionValidator
  3.         Req.ControlToValidate = MyBase.ID
  4.         Req.ErrorMessage = msgError
  5.         Req.Display = ValidatorDisplay.Dynamic
  6.         Req.ValidationExpression = sSoloNumeros
  7.         Controls.Add(New LiteralControl(" "))
  8.         Controls.Add(Req)
  9.  
  10.  MyBase.OnInit(e)
  11. End Sub
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:51.