ASP.NET - Me da error al crear usercontrol

 
Vista:

Me da error al crear usercontrol

Publicado por Pableras (18 intervenciones) el 28/05/2007 13:22:33
Hola, qué tal ???

Tengo un control de usuario creado por mí. Se trata de un calendario, el típico que saca un calendario y marca la fecha de hoy. Si pinchas en los botones(días), o combos (meses y años) el calendario varía (todo bien).

Eso me vale perfectamente cuando doy de alta un usuario y quiero introducir su fecha de nacimiento. Todo perfecto.

Mi problema viene cuando en vez de dar de alta, quiero modificar/editar la fecha de nacimiento, es decir, al sacar información de la base de datos (ahí no hay problema), tengo el problema de cómo marcar ese día en mi calendario.

Mi usercontrol no tenía un constructor y funcionaba perfectamente. Pero ahora necesito pasarle al calendario una fecha concreta(no la de hoy) para que la marque. Para eso me creé un constructor dentro del usercontrol:

public calendario(DateTime fecha)
{
//MarcarDia(Convert.ToInt16(fecha.Day),Convert.ToInt16(fecha.Month),Convert.ToInt16(fecha.Year));
}

La función MarcarDia funciona perfectamente; aún así como veis está comentada para que quede claro que el problema no es esa función.

Por otra parte en la página web, me creé una variable: protected calendario Calendario1; y en el Load de la página he puesto al principio: this.Calendario1=new calendario(Convert.ToDateTime("13/03/2002"));

Compilo y no me da ningún error, pero al ejecutar me falla:

--------------------------------------------------------------------------------------------------------------------
Mensaje de error del compilador: CS1501: Ninguna sobrecarga para el método 'calendario' adquiere '0' argumentos

Error de código fuente:



Línea 122: private static bool __initialized = false;
Línea 123:
Línea 124: public calendario_ascx() {
Línea 125: if ((ASP.calendario_ascx.__initialized == false)) {
Línea 126: ASP.calendario_ascx.__initialized = true;


Archivo de origen: c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\esteesmisitio\2c8c5179\df8424c7\rrkojmox.0.cs Línea: 124
--------------------------------------------------------------------------------------------------------------------

Porqué me falla? En cuanto pongo ese constructor, me falla. Cómo puedo solucionar este problema? porque necesito cuando edito un usuario, pasarle una fecha concreta al calendario para que la marque.

Si quereis ver el control de usuario en cuestión es el calendario que aparece en la página: http://www.esteesmisitio.com/pruebas/compatible.aspx .Allí vereis que funciona perfectamente, pero como veis la fecha marcada es la actual (la del servidor, que está en Santiago de Compostela). Esa es mi pregunta, cuando edite ese usuario, cómo marco la fecha que el usuario rellenó en el alta ?? Ah, esa página es sólo de prueba. Lo dig por si intentais daros de alta, porque no vais a poder. Es sólo para probar el calendario, etc.

Alguna sugerencia ???

Muchas graciassssssssss
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:Me da error al crear usercontrol

Publicado por Pablo Iñareta (224 intervenciones) el 28/05/2007 15:33:13
tu clase como se llama, calendario o calendario_ascx, pq el constructor de la clase calendario_ascx no tiene argumentos. me da la sensacion de q tienes un metodo q se llama calendario dentro de la clase calendario_ascx. si te lias no sobrecargues el constructor, dejalo como estaba y crea un metodo al q le pases la fecha cuando tengas q editarlo y en paz
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

RE:Me da error al crear usercontrol

Publicado por Pableras (18 intervenciones) el 28/05/2007 20:24:43
Ya he solucionado el problema.

He quitado el constructor. En el load del control pongo:

------------------------------------------------------------------------------------------------
if (!IsPostBack) // Primera vez
{
if (lblFechaActual.Text!="") // Si hay una fecha concreta a marcar
{
.......
}
else // Si no hay una fecha concreta, marco la de hoy
{
.......
}
}
else
{
....
}
-------------------------------------------------------------------------------------------------

Tengo una etiqueta que cada vez que se marca un nuevo día se escribe esa nueva fecha en dicha etiqueta.

Por otra parte, dentro del control, escribo:

-------------------------------------------------------------------------------------------------
public DateTime FechaActual
{
get
{
return Convert.ToDateTime(lblFechaActual.Text);
}
set
{
lblFechaActual.Text=(value.Day.ToString() + "/" + value.Month.ToString() + "/" + value.Year.ToString());
}
}
-------------------------------------------------------------------------------------------------

Y por último, en la página web donde está el control de usuario del calendario, escribo:

-------------------------------------------------------------------------------------------------
......

protected calendario Calendario1;

private void Page_Load(object sender, System.EventArgs e)
{
if (!this.IsPostBack) // primera vez
{
Calendario1.FechaActual=Convert.ToDateTime("13/06/1985");
........
}
}

-------------------------------------------------------------------------------------------------
y ya me marca la fecha que quiero, en este caso 13/06/1985".

Lo escribo por si a alguien le sirve de ayuda.

Un saludo y graciassss
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