Foros del Web » Programación web » ASPX (.net) »

Referencia a objeto no establecida como instancia de un objeto.

Estas en el tema de Referencia a objeto no establecida como instancia de un objeto. en el foro de ASPX (.net) en Foros del Web. Hola a todos!!!!!! Estoy realizando una aplicacion web y me ha surgido este error al ejecutarla cuando intento hacer lo siguiente: Tengo un WebForm al ...
  #1 (permalink)  
Antiguo 16/06/2008, 17:36
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 6 años, 5 meses
Puntos: 0
Referencia a objeto no establecida como instancia de un objeto.

Hola a todos!!!!!!
Estoy realizando una aplicacion web y me ha surgido este error al ejecutarla cuando intento hacer lo siguiente:
Tengo un WebForm al que añado dinamicamente controles de usuario formados basicamente por labels y TextBox.En el WebForm tengo un boton y quiero que cuando se pulse se almacenen los datos escritos en los TextBox de los controles de usuario. Os mando un pequeño ejemplillo del codigo:

Codigo del Webform que contiene un Placeholder en el q ya estan añadidos dinamicamente los user control (esto lo hace bien), un boton y un label:

protected void Button1_Click(object sender, EventArgs e)
{
control con = new control();
Label1.Text =con.texto;
}
Codigo del usercontrol que contiene un TexBox:

namespace Probando.carpeta
{
public partial class control : System.Web.UI.UserControl
{

public string texto
{

set { texto = TextBox1.Text; }
get {return (texto = TextBox1.Text); }

}
}

El error me da en esta ultima linea del get y es el siguiente:

Referencia a objeto no establecida como instancia de un objeto.

Si alguien tiene alguna idea de porque me da ese error...
Muchas gracias.
  #2 (permalink)  
Antiguo 16/06/2008, 17:43
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 7 años, 2 meses
Puntos: 87
Respuesta: Referencia a objeto no establecida como instancia de un objeto.

bueno yo cambiaria esto por algo asi

private string texto;
public string Texto
{
set { texto = TextBox1.Text; }
get {return (texto = TextBox1.Text); }
}

pero lo q me queda en duda es para si haces el set y el get no simplre mente accedes a esa propiedad en lugar de crear una propiedad mas.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 17/06/2008, 07:34
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 6 años, 5 meses
Puntos: 0
Respuesta: Referencia a objeto no establecida como instancia de un objeto.

Muchas gracias por tu respuesta Peterpay, pero el mismo error sigue ocurriendo en el get:
get {return (texto = TextBox1.Text);

He declarado en control.ascx.designer.cs TextBox1 de la siguiente forma:

private global::System.Web.UI.WebControls.TextBox TextBox1;

Y me aparece el siguiente warning:

Field 'Probando.carpeta.control.TextBox1' is never assigned to, and will always have its default value null

Alguna otra idea para resolver esto???

Muchas gracias.
  #4 (permalink)  
Antiguo 17/06/2008, 09:06
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 7 años, 2 meses
Puntos: 87
Respuesta: Referencia a objeto no establecida como instancia de un objeto.

lo q me pregunto es porq tienes un texto=Textbox1.Text

porq si tienes el control porq simplemente no haces

return Textbox1.Text ademas por cuestiones de ViewState esto lo sigue conservando en tu control cual es la logica de tu propiedad si tu control lo puede manejar perfectamente?
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 17/06/2008, 09:49
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 6 años, 5 meses
Puntos: 0
Respuesta: Referencia a objeto no establecida como instancia de un objeto.

Ya he probado poniendo esto en el get:

get {return TextBox1}

Aun asi me sigue dando el mismo error. Tengo que poner esta propiedad porque añado los controles dinamicamente, entonces no se como hacer referencia a ellos desde la pagina principal y mucho menos al texto de los TextBox.

Alguna idea mas?
Muchisimas gracias.
  #6 (permalink)  
Antiguo 17/06/2008, 10:24
 
Fecha de Ingreso: junio-2008
Mensajes: 14
Antigüedad: 6 años, 5 meses
Puntos: 0
Respuesta: Referencia a objeto no establecida como instancia de un objeto.

Muchisimas gracias por tu ayuda. Creo que por fin he resuelto el problema. Tenia dos problemas. Uno de ellos es q no hacia bien la referencia al control de usuario que apuntaba a null y la otra es que el valor del TextBox que me cogia era el de cuando se cargaba la pagina. El get me quedo asi:
get
{
if (!IsPostBack)
return TextBox1.Text;
else
return "vacio";
}

Muchas gracias
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 02:28.
SEO by vBSEO 3.3.2