Seleccione la fecha actual de forma predeterminada en el control Calendario ASP.Net

StackOverflow https://stackoverflow.com/questions/86408

  •  01-07-2019
  •  | 
  •  

Pregunta

Digamos que tengo una página aspx con este control de calendario:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="" ></asp:Calendar>

¿Hay algo que pueda poner en SelectedDate para que use la fecha actual de forma predeterminada, sin tener que usar el código subyacente?

¿Fue útil?

Solución

Si ya está haciendo enlace de datos:

<asp:Calendar ID="Calendar1" runat="server"  SelectedDate="<%# DateTime.Today %>" />

Lo haré.Esto requiere que en algún lugar esté realizando una llamada Page.DataBind() (o una llamada de enlace de datos en un control principal).Si no está haciendo eso y no desea en absoluto ningún código subyacente en la página, tendrá que crear un control de usuario que contenga un control de calendario y establezca su fecha seleccionada.

Otros consejos

FechaHora.Ahora no funcionará, use FechaHora.Hoy en cambio.

Estaba intentando que el calendario seleccionara una fecha de forma predeterminada y la resaltara para el usuario.Sin embargo, intenté usar todas las opciones anteriores pero solo logré configurar la fecha seleccionada en el calendario.

protected void Page_Load(object sender, EventArgs e)
    Calendar1.SelectedDate = DateTime.Today;
}

el código anterior NO resaltó la selección, aunque estableció la fecha seleccionada en hoy.

Sin embargo, para seleccionar y resaltar el siguiente código funcionará correctamente.

protected void Page_Load(object sender, EventArgs e)
{
    DateTime today = DateTime.Today;
    Calendar1.TodaysDate = today;
    Calendar1.SelectedDate = Calendar1.TodaysDate;
}

revisa este enlace: http://msdn.microsoft.com/en-us/library/8k0f6h1h(v=VS.85).aspx

Dos formas de hacerlo.

Encuadernación tardía

<asp:Calendar ID="planning" runat="server" SelectedDate="<%# DateTime.Now %>"></asp:Calendar>

Código subyacente (solución Page_Load)

protected void Page_Load(object sender, EventArgs e)
{
    BindCalendar();
}

private void BindCalendar()
{
    planning.SelectedDate = DateTime.Today;
}

Sin embargo, recomiendo encarecidamente hacerlo desde BindMyStuff.Punto de entrada único más fácil de depurar.Pero como parece que conoces tu juego, ya está todo listo.

Lo intenté anteriormente con el código anterior pero no funcionó. Aquí hay una solución para establecer la fecha actual seleccionada en el control de calendario de asp.net.

dtpStartDate.SelectedDate = Convert.ToDateTime(DateTime.Now.Date);
dtpStartDate.VisibleDate = Convert.ToDateTime(DateTime.Now.ToString());

Yo también tuve el mismo problema en VWD 2010 y por casualidad tenía dos controles.Uno estaba disponible en el código subyacente y el otro no era accesible.Pensé que el orden de las declaraciones en los controles estaba causando el problema.Puse 'runat' antes de 'SelectedDate' y eso pareció solucionarlo.Cuando puse 'runat' después de 'SelectedDate', ¡todavía funcionó!Desafortunadamente, ahora no sé por qué no funcionó y no tengo el original que no funcionó.

Ahora todos funcionan: -

<asp:Calendar ID="calDateFrom" SelectedDate="08/02/2011" SelectionMode="Day" runat="server"></asp:Calendar>
<asp:Calendar runat="server" SelectionMode="Day" SelectedDate="08/15/2011 12:00:00 AM" ID="Calendar1" VisibleDate="08/03/2011 12:00:00 AM"></asp:Calendar>
<asp:Calendar SelectionMode="Day" SelectedDate="08/31/2011 12:00:00 AM" runat="server" ID="calDateTo"></asp:Calendar>

En realidad, no puedo obtener la fecha seleccionada en aspx.Esta es la forma de configurar la fecha seleccionada en los códigos:

protected void Page_Load(object sender, EventArgs e)
{
   if (!Page.IsPostBack)
   {
      DateTime dt = DateTime.Now.AddDays(-1);
      Calendar1.VisibleDate = dt;
      Calendar1.SelectedDate = dt;
      Calendar1.TodaysDate = dt;
      ...
    }
 }

En el ejemplo anterior, necesito establecer la fecha seleccionada predeterminada en ayer.El punto clave es establecer TodayDate.De lo contrario, la fecha del calendario seleccionada siempre será hoy.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top