2012-10-02 44 views
0

我使用帶有文本框作爲目標控件的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。

回答

2

您是否嘗試動態設置readonly字段而不是標記?另外,我會確保您在回發期間不會重置Page_Load()中的值。

或者嘗試在Page_load上嘗試這樣的操作,並在嘗試將其設置爲日曆擴展程序選定日期之前檢查是否存在有效日期框?

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

說實話我不需要ReadOnly設置。因爲我一直在閱讀的博客試圖解決這個問題,目前只有在那裏。我已經把它拿出來了,發生同樣的事情。回傳後我不會在Page_Load上做任何事情。 – Sun

+1

是的,你的第二個編輯適合我。感謝您的幫助和時間。 – Sun