我有一个带有SelectedDateChanged事件的RadDatePicker控件。当我更改日期时,事件触发并显示确认窗口。当我点击'Cancel‘按钮时,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 %>", "");
}发布于 2013-05-04 02:35:26
如果你只是用它来渲染一些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>https://stackoverflow.com/questions/16364727
复制相似问题