【问题标题】:RadDatePicker SelectedDateChanged issueRadDatePicker SelectedDateChanged 问题
【发布时间】:2013-05-03 17:41:21
【问题描述】:

我有带有 SelectedDateChanged 事件的 RadDatePicker 控件。当我更改日期时,事件会通过确认窗口触发。当我单击“取消”按钮时,RadDatePicker1_SelectedDateChanged 再次调用并显示两次确认窗口。当我单击“确定”按钮时,它工作正常。可能是什么问题呢?感谢您的任何建议。

  <telerik:RadDatePicker ID="RadDatePicker1" runat="server" AutoPostBack="true" OnSelectedDateChanged="RadDatePicker1_SelectedDateChanged" >
                         </telerik:RadDatePicker>


protected void RadDatePicker1_SelectedDateChanged(object sender, EventArgs e)
{
string radalertscript = "<script language='javascript'>function f(){ radconfirm('Are you sure?', confirmChange, 400, 100) ; Sys.Application.remove_load(f);}; Sys.Application.add_load(f);</script>";
                     Page.ClientScript.RegisterStartupScript(this.GetType(), "radalert33", radalertscript);
 }

这里是Javascript函数

function confirmChange(args) {
    if (args) {
        __doPostBack("<%= hiddenButton1.UniqueID %>", "");
    }

【问题讨论】:

    标签: c# asp.net telerik


    【解决方案1】:

    如果您只是使用它来呈现一些 javascript,这似乎是一个不必要的回发。

    您能在客户端进行确认对话框吗?

    http://www.telerik.com/help/aspnet-ajax/calendar-on-date-selecting.html

    <script type="text/javascript">
    function ConfirmChange(sender, eventArgs) {
        var date = eventArgs.get_renderDay().get_date();
        var dfi = sender.DateTimeFormatInfo;
        var formattedDate = dfi.FormatDate(date, dfi.ShortDatePattern);
        eventArgs.set_cancel(!confirm("Are you sure you want to " +
        (eventArgs.get_isSelecting() ? "select " : "unselect ") +
        formattedDate + "?"));
    }
    </script>
    
    <telerik:RadCalendar ID="RadCalendar1" runat="server">
        <ClientEvents OnDateSelecting="ConfirmChange" />
    </telerik:RadCalendar>
    

    【讨论】:

    • 谢谢。我会试试这个建议。无论如何,当 RadConfirm '取消'点击时,我可以取消日期选择吗?
    • 我没有制作演示页面,但应该可以。如果您遇到问题发表评论,我会将代码放在页面中并尝试提供帮助
    • 我仍然遇到 RadConfirm 的取消按钮问题。看起来 DatePicker 控件在选择新日期时已经更改了日期。我不确定单击“取消”后是否可以返回旧值。
    • 使用 OnDateSelecting 有点啰嗦,我上面的代码会生成 4 个警告框。两个用于取消选择和重新选择初始日期,另外两个用于选择旧日期和选择新日期。对 OnDateSelected 发出警报可能会更好。它使您可以访问旧日期和新日期,因此如果他们点击取消,您可以重置回原来的日期。 telerik.com/help/aspnet-ajax/calendar-on-date-selected.html
    猜你喜欢
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2021-12-05
    • 1970-01-01
    相关资源
    最近更新 更多