如何从主页面向telerik控件添加事件

时间:2013-08-15 14:06:34

标签: asp.net telerik

如果我将事件添加到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";

}

2 个答案:

答案 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可以使用该属性来设置所需的事件。