Here are the results of our private discussion:
1) The confirmation dialog can be added by switching to JavaScript handling and calling the callback manually:
EventDeleteHandling="JavaScript"
EventDeleteJavaScript="if (confirm('Do you really want to delete ' + e.text() + ' ?')) dpc1.eventDeleteCallBack(e);"
If you are using DayPilot inside an UpdatePanel, you will need to call PostBack in order to execute partial update of the UpdatePanel:
EventDeleteHandling="JavaScript"
EventDeleteJavaScript="if (confirm('Do you really want to delete ' + e.text() + ' ?')) dpc1.eventDeletePostBack(e);"
2) This wasn't working because the menu item was executing a callback instead of postback (it was inside an UpdatePanel as well).
This definition
<daypilot:daypilotmenu id="DayPilotMenu1" runat="server" ClientObjectName="dpc1"
ShowMenuTitle="False">
<DayPilot:MenuItem Text="Delete" Action="JavaScript" Command="Delete"
JavaScript="if (confirm('Do you really want to delete this event?'))
dpc1.eventMenuClickCallBack(e, command);"></DayPilot:MenuItem>
</daypilot:daypilotmenu>
has to be replaced with this definition:
<daypilot:daypilotmenu id="DayPilotMenu1" runat="server" ClientObjectName="dpc1"
ShowMenuTitle="False">
<DayPilot:MenuItem Text="Delete" Action="JavaScript" Command="Delete"
JavaScript="if (confirm('Do you really want to delete this event?'))
dpc1.eventMenuClickPostBack(e, command);"></DayPilot:MenuItem>
</daypilot:daypilotmenu>
Note that internal callbacks are working inside UpdatePanel as well but the possibilities are limited: During the internal callback you can only update the DayPilot events - other controls on the page are not accessible. Partial PostBack (using UpdatePanel) allows you to access all DayPilot properties and other controls inside the UpdatePanel but it will be a bit slower (a bigger piece of HTML is being updated).