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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht dies funktionieren wird:
Die Lösung des Problems ist die Nutzung von Anfrage.Form-Sammlungen. Die Sammlung hat die Werte aller Felder, die veröffentlicht werden zurück an den server und hat auch die Werte, die eingestellt werden, mithilfe von client-seitige scripts, wie JavaScript.
Damit müssen wir eine kleine änderung in der Art, wie wir sind, Holen Sie den Wert der server-Seite.
C#