ASP.NET - Codebehind y controles de usuario

 
Vista:

Codebehind y controles de usuario

Publicado por Ale (1 intervención) el 11/12/2006 16:39:57
Hola,

Estoy usando método de separación de código, codebehind.

Tengo una página aspx (principal.aspx) que carga un control de usuario (micontrol.ascx):

<%@ Register TagPrefix="prueba" TagName="miControl" Src="~/controls/micontrol.ascx" %>
....
<prueba:miControl id="miCtrl" runat="server" />
....

Este control tiene una propiedad pública (definida en micontrol.ascx.cs):

public String str
{
get
{
return strAux;
}
set
{
str = value;
}
}

Quiero modificar el valor de esta propiedad desde principal.aspx.cs (código de principal.aspx) en tiempo de ejecución, concretamente en el metodo OnInt(). Así, en principal.aspx.cs tengo lo siguiente:

public UserControl miCtrl;

...

override protected void OnInit(EventArgs e)
{
miCtrl.str="probando";
}

Sin embargo, me da el siguiente error:

CS0117: 'System.Web.UI.UserControl' no contiene una definición para 'str'

A ver si alguien me puede echar un cable, muchas gracias, un saludo ;)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Codebehind y controles de usuario

Publicado por p@vr1 (21 intervenciones) el 10/01/2007 15:53:13
Hola, mmm debe ser un problema de actualizacion del ascx... en realidad no tiene sentido, si esta publico ya tiene que reconocerlo, intenta jalar una nueva referencia del .ascx...

Otra cosa:


public String str
{
get
{
return strAux;
}
set
{
str = value;
}
}

Asi como esta no funciona ya que da un OverFlowException osea, en el set estas volviendo a llamar a la propiedad str y no al atributo strAux, y cada ves que llamas a la propiedad esta va a volver a llamarse de nuevo y asi sucesivamente (se va a encilcar), no es el error que dices pero puede que tenga relacion a eso, suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar