2013-05-03 73 views
0

我有RadDatePicker控件與SelectedDateChanged事件。當我更改日期時,事件觸發與確認窗口。當我點擊'取消'按鈕RadDatePicker1_SelectedDateChanged再次調用並顯示確認窗口兩次。當我點擊「確定」按鈕時,它工作正常。可能是什麼問題呢?感謝您的任何建議。RadDatePicker 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 %>", ""); 
    } 

回答

1

它,如果你只是用它來渲染一些JavaScript似乎是一個unnessary回發。

您可以在客戶端進行確認對話嗎?

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> 
+0

謝謝。我會嘗試這個建議。無論如何,當RadConfirm'取消'點擊時,我可以取消日期選擇? – nav100 2013-05-03 18:51:41

+0

我沒有放在一起演示頁面,但應該這樣做。如果您在發佈評論時遇到問題,我會將代碼放在一個頁面中,並嘗試幫助 – 2013-05-03 19:32:22

+0

我仍然在使用RadConfirm取消按鈕時遇到問題。看起來DatePicker控件在選擇新日期時已經更改了日期。我不確定是否可以在點擊「取消」後返回舊值。 – nav100 2013-05-03 20:19:43