文本框在使用日历扩展程序进行回发后不保留其值

时间:2012-10-02 08:04:24

标签: asp.net textbox postback calendarextender

我正在使用带有文本框的CalendarExtender作为目标控件。我的代码如下:

<asp:TextBox ID="textBoxFromDate" runat="server" EnableViewState="true" />
<asp:CalendarExtender ID="textBoxFromDate_CalendarExtender" runat="server" Enabled="True"
                    TargetControlID="textBoxFromDate" Format="dd/MM/yyyy" EnableViewState="true">
</asp:CalendarExtender>

所以我使用日历控件在文本框中设置值。这样可以正常工作,但是当页面上发生回发时,文本框值将重置为日历控件的默认日期。

如何让文本框在回发中保留其值?

提前致谢。

我正在使用ASP.Net 4.0。

1 个答案:

答案 0 :(得分:2)

你是否尝试动态设置readonly字段而不是标记?此外,我还要确保您在回发期间没有重置Page_Load()中的值。

或者如何在Page_load上尝试这样的事情,还要在尝试将其设置为日历扩展程序选定日期之前检查框中是否有有效日期?

if (IsPostBack) 
{ 
    MyCalendarExtender.SelectedDate =
        DateTime.ParseExact(MyTextBox.Text, MyCalendarExtender.Format, null); 
}