2009-05-26 42 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

如何使用文本框,然后将其禁用

相关问题