C# RadDatePicker SelectedDateChanged问题

C# RadDatePicker SelectedDateChanged问题,c#,asp.net,telerik,C#,Asp.net,Telerik,我已使用SelectedDateChanged事件创建RadDatePicker控件。当我更改日期时,事件将通过“确认”窗口触发。当我点击“取消”按钮时,RadDatePicker1\u SelectedDateChanged再次调用,并显示确认窗口两次。当我点击“确定”按钮时,它工作正常。有什么问题吗?谢谢你的建议 <telerik:RadDatePicker ID="RadDatePicker1" runat="server" AutoPostBack="true" OnSelec

我已使用SelectedDateChanged事件创建RadDatePicker控件。当我更改日期时,事件将通过“确认”窗口触发。当我点击“取消”按钮时,RadDatePicker1\u 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);
 }

受保护的无效RadDatePicker1\u SelectedDateChanged(对象发送方,事件参数e)
{
string radalertscript=“函数f(){radconfirm('you sure?',confirmChange,400100);Sys.Application.remove_load(f);};Sys.Application.add_load(f);”;
Page.ClientScript.RegisterStartupScript(this.GetType(),“radalert33”,radalertscript);
}
下面是Javascript函数

  <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);
 }
function confirmChange(args) {
    if (args) {
        __doPostBack("<%= hiddenButton1.UniqueID %>", "");
    }
函数确认更改(args){
如果(args){
__doPostBack(“,”);
}

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

  <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);
 }
您能在客户端执行确认对话框吗

  <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);
 }

  <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);
 }

函数ConfirmChange(发送方、事件参数){
var date=eventArgs.get_renderDay().get_date();
var dfi=sender.DateTimeFormatInfo;
var formattedDate=dfi.formattate(日期,dfi.ShortDatePattern);
eventArgs.set_cancel(!confirm)(“您确定要”+
(eventArgs.get_isSelecting()?“选择”:“取消选择”)+
格式日期+“?”);
}

谢谢。我会尝试这个建议。当单击RadConfirm“cancel”时,我是否可以取消日期选择?我没有制作演示页面,但应该有。如果您在发布评论时遇到一些问题,我会将代码放到页面中,并尝试帮助我使用RadConfirm的cancel按钮仍有问题。看起来例如DatePicker控件在选择新日期时已经更改了日期。我不确定单击“取消”后是否可以返回旧值。使用OnDateSelecting有点健谈,我上面的代码将生成4个警报框。两个用于取消选择和重新选择初始日期,另外两个用于删除旧日期和选择新日期。可能最好对OnDateSelected执行警报。它允许您访问旧日期和新日期,因此如果它们单击“取消”,您可以重置回原始日期。