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

Acceder a un User Control desde una clase

Estas en el tema de Acceder a un User Control desde una clase en el foro de ASPX (.net) en Foros del Web. Buenas tardes a todos los compañeros del foro, de ante mano gracias por su ayuda, trabajo en el frame 2.0 con C#; Aunque ya tengo ...
  #1 (permalink)  
Antiguo 29/10/2009, 15:28
 
Fecha de Ingreso: noviembre-2007
Ubicación: Trabajo en INEGI
Mensajes: 33
Antigüedad: 16 años, 5 meses
Puntos: 0
Acceder a un User Control desde una clase

Buenas tardes a todos los compañeros del foro, de ante mano gracias por su ayuda, trabajo en el frame 2.0 con C#;

Aunque ya tengo tiempo trabajando con el lenjuage ahora se me ha presentado la necesidad de contruir una pagina con cierto dinamismo la cual esta conformada con varios controles de usuario (.ascx).
Los cuales por supuesto se utilizan en las paginas aspx que esta dentro de una masterpage;

Genere una clase la cual se almacena en la carpeta Aap_Code a la cual le paso la referencia de mi pagina y de mis controles ajax para poderlos manipular y hasta ahi no tengo problema. por ejemplo

((DropDownList)this.Pagina.FindControl("combo_01") ).SelectedIndex = -1;

Esto por supuesto por que el control DropDownList es conocido debido a que se definio el using System.Web.UI.WebControls;

Sin embargo necesito tener acceso a los controles de un UserControl que fue agregado a la pagina principal por lo tanto requiero declarar el nombre de esa clase para poder recuperar el objeto y acceder a sus elemento ...
el nombre del UserControl es:
public partial class Calendario_Calendario : System.Web.UI.UserControl

aqui se tienen controles de TextBox y DropDownList

Mi duda es como indicar el using de esta clase o como manejar una referencia a este objeto ..


gracias por cualquier aportacion que pueden hacer ...
  #2 (permalink)  
Antiguo 29/10/2009, 16:27
Avatar de jsrc1990  
Fecha de Ingreso: enero-2009
Mensajes: 95
Antigüedad: 15 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Acceder a un User Control desde una clase

Que mas ?

Bueno no entiendo muy bien si lo que quieres es pasar el WebUsercontrol completo a la clase del Appcode O pasar los Objetos del WebUserControl, como tampoco si agregas los WebUserControls por codigo o por el disenador

Sin embargo te hecho una mano.

Agregado en el Disenador

Tu Metodo que llama a la Clase del AppCode:

Dim Clase1 As New TuClasedelAppCode

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Clase1.PasarWebUserControl(Me.Calendario_Calendari o)
Clase1.PasarControles(Me.Calendario_Calendario.Fin dControl("Textbox1"))
End Sub

Clase del AppCode

Public Function PasarControles(ByVal Control1 As System.Web.UI.Control) As Control
.
.
.
Return Control1
End Function

Public Function PasarWebUserControl(ByVal WebUserControl1 As System.Web.UI.UserControl) As UserControl
.
.
.
Return WebUserControl1
End Function

y desde los Metodos del AppCode manipulas los Objetos enviados por parametro que son receptados con el byval, o byref. utiliza sub o function segun tu necesidad.

Si el Webusercontrol fue agregado por Codigo, debistes haberlo instanciado, hecho algo asi...

Dim WebUserControl1 As UserControl

La cual luego lo tuvistes que castear haciendo el LoadControl para cargarlo, entonces si es asi, en el envio de parametros sabes reemplazas el Calendario_Calendario por la variable que instanciastes (En este caso WebUserControl1) para cargar los WebUserControls

Por ultimo pues este es el Namespace System.Web.UI.UserControl, ha y por cierto como no puedes manipular muy bien un Control segun el tipo, lo casteas segun el tipo que utilices, textbox, dropdownlist, etc. como indicastes anteriormente.

Pasalo a C# porque realmente ahora mismo no puedo regalar mas tiempo.

Espero sea lo que busques y te funcione.
  #3 (permalink)  
Antiguo 29/10/2009, 16:44
 
Fecha de Ingreso: noviembre-2007
Ubicación: Trabajo en INEGI
Mensajes: 33
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: Acceder a un User Control desde una clase

Gracias por la aportacion jsrc1990

Y es correcto lo que comentas ... solo que la clase en la que quiero manipular este control de usuario no existe el evento load y justamente lo que requiero es saber como declarar la clase del user control para poder hacer es casteo al objeto y poder acceder sus elementos ..

de hecho ya pase la referencia del UserControl y ya la tengo pero necesito decirle

(Calendario_Calendario) (referencia.findControl(" "))

pero la clase Calendario_Calendario ... no se como declararla ..en una clase que sera una dll mas adelante ...
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 08:15.