【发布时间】:2010-10-31 17:22:46
【问题描述】:
我有一个包含两个输入元素的 ASP.NET 页面:
- 只读的文本框。此 TextBox 是 CalendarExtender 的 TargetControl
- AutoPostBack=true 的下拉列表
代码如下:
<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>
当 DropDownList 回发时,用户使用 datePicker 选择的日期将重置为当前日期。另外,如果我查看dateTextBox的Text属性,它等于string.Empty。
如何保留用户在 PostBack 上选择的日期?
【问题讨论】: