设置RadDatePicker日期而不触发ValueChanged

时间:2011-02-25 20:15:35

标签: c# javascript asp.net telerik telerik-javascript

使用客户端API,我希望能够这样做:

picker.set_selectedDate(new Date());

如果没有触发valueChanged事件处理程序,API中是否有另一种方法可以执行此操作?这也是所有客户端JavaScript。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以从datepicker中删除事件处理程序,然后设置日期,如下所示:

 var datePicker = $find("<%= RadDatePicker1.ClientID %>");            
 datePicker.remove_dateSelected(DateSelected);
 datePicker.set_selectedDate(new Date());

这会阻止事件被触发,如果你需要它,你可以在之后再添加它。 DateSelected是您在控件上设置的事件的名称,请参阅下面的小示例

<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="SM" runat="server"></asp:ScriptManager>
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
    function pageLoad() {
        var datePicker = $find("<%= RadDatePicker1.ClientID %>");            
        datePicker.remove_dateSelected(DateSelected);
        datePicker.set_selectedDate(new Date());
    }

    function DateSelected(sender, e) {
        alert(sender);
    }
</script>
</telerik:RadCodeBlock>
<div>
     <telerik:RadDatePicker ID="RadDatePicker1" runat="server">
        <ClientEvents OnDateSelected="DateSelected" />                       
     </telerik:RadDatePicker>
</div>
</form>