Ajax CalendarExtender, Wie um das Datum zu erhalten, nachdem ich auf einen button zu klicken?

Möchte ich hinzufügen, fügen Sie eine Ajax-CalendarExtender zu meiner Seite. Und dann, nach der Auswahl eines Datums und Klick auf eine Schaltfläche bekomme ich den ausgewählten Tag in einem label.

Ich habe eine text-box, die das Ziel der CalendarExtender

<asp:TextBox ID="DateText" runat="server" ReadOnly="true" ></asp:TextBox>

<ajaxToolkit:CalendarExtender 
    ID="Calendar1"
    runat="server"
    TargetControlID="DateText"
    Format="MMMM d, yyyy"
    PopupPosition="Right"
    />

<asp:Button runat="server" ID="Button1" onclick="Button1_Click" />

In der Code Hinter:

Auf der ersten Seite laden ich das Datum von Heute.

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

In der Button1_Click-Ereignis

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = Calendar1.SelectedDate.Value.Day.ToString();
}

Das problem ist, wenn ich auf die Schaltfläche klicke (oder nach jedem post den Rücken) der ausgewählte Wert wieder auf das heutige Datum.

Und wenn ich das nicht einstellen, dass es DateTime.Today im Page_Load Es wieder auf null und wirfst eine null exception.

Wie kann ich dieses Problem lösen?

Vielen Dank für jede Hilfe.
Ich hoffe, ich war klar

InformationsquelleAutor Youssef | 2011-09-22
Schreibe einen Kommentar