J'ai une page ASP.NET qui comporte deux éléments: entréeASP.NET AJAX Toolkit - CalendarExtender est remis à zéro Postback
- une zone de texte qui est en lecture seule. Cette zone de texte est le TargetControl d'un CalendarExtender
- A DropDownList avec AutoPostBack = true
Voici le code:
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2">Date:</td></tr>
<tr><td colspan="2">
<asp:TextBox ID="dateTextBox" runat="server" ReadOnly="true" />
<ajax:CalendarExtender ID="datePicker" runat="server" Format="MM/dd/yyyy" OnLoad="datePicker_Load" TargetControlID="dateTextBox" />
</td></tr>
<tr><td colspan="2">Select an Option:</td></tr>
<tr>
<td>Name: </td>
<td><asp:DropDownList ID="optionsDropDownList" runat="server" AutoPostBack="true"
OnLoad="optionsDropDownList_Load"
OnSelectedIndexChanged="optionsDropDownList_SelectedIndexChanged"
DataTextField="Name" DataValueField="ID" />
</td></tr>
<tr><td><asp:Button ID="saveButton" runat="server" Text="Save" OnClick="saveButton_Click" /></td></tr>
</table>
Lorsque les messages DropDownList arrière, la date sélectionnée par l'utilisateur avec le Datepicker est réinitialisé à la date actuelle. De plus, si je regarde la propriété Text de dateTextBox, elle est égale à string.Empty. Comment puis-je conserver la date sélectionnée par l'utilisateur sur un PostBack?
Downvoting parce que je crois que la réponse de @ taeda est la vraie réponse à ce problème. –