Necesito saber que es posible insertar una fecha en un cuadro de texto y, a continuación, que la fecha seleccionada en el calendario. Estoy usando el calendario en Microsoft visual studio express 2012 para web.

Siguiente es el código para insertar una fecha en un cuadro de texto mediante la selección de la fecha en el calendario. (Sin embargo, yo quiero hacer lo contrario)

Predeterminado.aspx

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">
 <head id="Head1" runat="server"> 

 <title></title>
 </head>
 <body>
<form id="form1" runat="server">
<div>
    <asp:Calendar ID="Calendar1" runat="server" Visible="False" OnSelectionChanged="Calendar1_SelectionChanged"></asp:Calendar>
</div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">PickDate...</asp:LinkButton>
</form>

Predeterminado.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void LinkButton1_Click(object sender, EventArgs e)
{
    Calendar1.Visible = true;
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{


    TextBox1.Text = Calendar1.SelectedDate.ToLongDateString();


    Calendar1.Visible = false;

}
}

Gracias

  • Puede utilizar la misma propiedad SelectedDate para especificar que la fecha debe ser seleccionado. ¿Cuál es el problema, ¿necesita en clientside o tiene problemas con el análisis de la fecha?
InformationsquelleAutor user2855068 | 2013-11-05

3 Comentarios

  1. 5

    ¿

    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Convert.ToDateTime(TextBox1.Text);
    }
    • Vale la pena mencionar que es bastante importante para tener un validador en el textbox, y una comprobación de validez antes de la modificación de la SelectedDate, por lo que no habrá ninguna desagradable errores que aparecen.
    • Hola muchas Gracias he utilizado este y funcionó.
  2. 2
     protected void LinkButton1_Click(object sender, EventArgs e)
        {
            if(TextBox1.Text!=string.Empty)
                Calendar1.SelectedDate = Convert.ToDateTime(TextBox1.Text);
    
            Calendar1.Visible = true;
        }

    Pero es necesario validar usuario eneterd datetime antes de la conversión de cuadro de texto valor de datetime. Aquí está el enlace de javascript datetime validación.

  3. 0

    crear un evento en el cuadro de texto cuando el texto está cambiando

    Dentro del evento comprobar si el texto es un datetime para el manejo de excepciones

    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
      DateTime curDate = DateTime.Now;
      if (DateTime.TryParse(TextBox1.Text, out curDate))
      {
        Calendar1.SelectedDate = Convert.ToDateTime(TextBox1.Text);
      }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here