2009-05-26 49 views
0

我想在asp:Label上使用ajaxToolkit:CalendarExtender。當我附上CalendarExtender的標籤,我得到錯誤:在asp:label上使用ajaxToolkit CalendarExtender

Extender controls of type 'AjaxControlToolkit.CalendarExtender' cannot extend controls of type 'System.Web.UI.WebControls.Label'.

我希望有人知道一個快速的把戲,讓我來顯示標籤的日期,並允許該標籤被點擊觸發/打開一個可能以隱藏的asp:TextBox爲目標的CalendarExtender ...如果可能的話。

回答

1

由於錯誤狀態,日曆擴展程序被限制爲默認只擴展文本框控件。

看着ASP.NET AJAX Control toolkit page for the Calendar extender,您應該可以使用PopupButtonID來啓用標籤來觸發日曆彈出窗口(您還需要添加文本框的取消隱藏)。

+0

我認爲這將是完美的..但似乎使得ASP:文本框可見= False可防止日曆出現。 – 2009-05-26 14:26:53

+0

這是因爲在aspx標記中設置visible = false不會輸出服務器端的HTML以呈現客戶端上的文本框。我會在客戶端函數pageLoad()中加入一些JavaScript以在頁面加載時隱藏文本框 – 2009-05-26 14:59:49

+0

請參閱pageLoad - http://stackoverflow.com/questions/416363/javascript-function-should-be-running -on-every-page-load/416447#416447和 http://encosia.com/2007/08/01/simplify-aspnet-ajax-client-side-page-initialization/ – 2009-05-26 15:02:02

0

如果你有AjaxControlToolkit的源代碼,您可以編輯CalendarExtender.cs然後更改

[TargetControlType(typeof(TextBox))] 

,並把標籤(或控制,如果你想只有一個日曆擴展)。不知道這將如何影響Extender的一般行爲。

0

如何使用文本框,然後將其禁用

相關問題