2013-07-05 88 views
0

我在我的應用程序中使用了AjaxToolKit Calendar Extender,因此用戶可以選擇他們的出生日期。大多數用戶將使用系統將超過60歲,所以我希望這顯示爲默認視圖,當文本框不包含文本時,我已將日曆設置爲在年模式下打開,但我無法獲取默認爲過去60年的日期,而在相關文本框中沒有任何內容。AjaxToolKitCalendarExtender設置初始查看日期

我想實現的是圖片是什麼,但是當用戶打開日曆擴展程序時,文本框不包含任何值。

enter image description here

回答

0

@ccStars嘗試的DefaultViewSelectedDatePopupButtonID的組合。

DefaultView:將帶您進入已完成的年模式。 SelectedDate:將設置日曆初始化的日期, PopupButtonID控件的ID在單擊時顯示日曆彈出窗口。如果未設置此值,當文本框收到焦點時,日曆將彈出。因此,在您的文本框旁邊有一個小日曆圖標並提供其ID。這將解決您僅在日曆中選擇日期時才能獲取日期的問題。

以上是服務器端屬性。您感興趣的客戶端性能:

selectedDatevisibleDate:不同的是,該selectedDate是由文本框所代表的價值,但visibleDate目前在日曆中顯示的日期。

點擊此處瞭解詳情:http://www.asp.net/ajaxlibrary/act_calendar_reference.ashx

0

你可以嘗試使用日曆的SelectedDate屬性,像這樣:

protected void Page_Load(object sender, EventArgs e) 
{ 
    calendarExtender.SelectedDate = DateTime.Today.AddYears(-60); 
    ... 
} 
+0

我已經試過了,它輸出,我不想要的,日期應該只在文本框中appeat是否已經選中/用戶 – ccStars

+0

指定文本框中的日期我懂了。在這種情況下,最好的辦法就是做一些客戶端腳本,手動將十進制設置爲您需要的值。要麼是這樣,要麼您可以下載擴展器的源代碼並將其更改爲適合您的需求。 – Cobra

+0

林不知道你如何做到這一點通過JavaScript我已經在互聯網上看了,但一直無法找到任何例子。 – ccStars

0

我知道有沒有這樣做的明確的方式,但如果我們嘗試了一些陪審團串通什麼,測試?

如果您使用上述眼鏡蛇的答案設置SelectedDate,我假設它會默認到正確的日期範圍。

現在,如果後來,在客戶端,你做了一些JavaScript來清除出TextBox,我不知道如果CalendarExtender仍然會保留舊的日期範圍?

使用jQuery,這裏有一個快速的腳本來做到這一點。假設TextBoxIDtxtDateOfBirthClientIDMode設置爲Static

$('#txtDateOfBirth').val('');