如果我将事件添加到RadDatePicker控件,那么显然它可以正常工作
<telerik:RadDatePicker runat="server" ID="MyRadDatePicker" ClientEvents-OnDateSelected="clientEvent" />
。
但我的问题是,当radDatePicker位于自定义控件中并且该控件位于母版页上时,我是如何从我的母版页后面的代码中添加事件“ClientEvents-OnDateSelected”的?
我尝试了这个,但它不起作用?
protected void Page_Load(object sender, EventArgs e)
{
UC1MyCustomControl.FindControl("MyRadDatePicker").ClientEvents-OnDateSelected="clientEvent";
}
答案 0 :(得分:3)
投放FindControl
的结果,以便您可以访问特定于RadDatePicker
的属性,并将属性中的-
更改为.
:
var datePicker = (RadDatePicker)UC1MyCustomControl.FindControl("MyRadDatePicker");
datePicker.ClientEvents.OnDateSelected = "clientEvent";
不是依赖FindControl
,而是用户控件将日期选择器公开为公共属性可能更好:
// Inside the code-behind for the user control...
public RadDatePicker DatePicker
{
get { return MyRadDatePicker; }
}
使用此属性,母版页可以轻松访问日期选择器:
UC1MyCustomControl.DatePicker.ClientEvents.OnDateSelected = "clientEvent";
答案 1 :(得分:0)
+1为Michaels回答。最好的方法是让自定义控件将DatePicker公开为属性,Master Pager可以使用该属性来设置所需的事件。