Мне нужен сценарий на стороне клиента, чтобы подтвердить, что событие Timer OnTick может продолжаться.
Как мне вызвать CanContinue () до того, как произойдет обратная передача Timer1?
Как отменить постбэк, если пользователь выбрал Отмена?
<%@ Page Language="C#" %>
<script runat="server">
protected void Timer1_OnTick(object sender, EventArgs e)
{
Response.Write("Last Postback: " + DateTime.Now.ToString());
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Timer Test</title>
<script type="text/javascript" language="javascript">
function CanContinue() {
return confirm('The page is requesting new data. Ok or Cancel?');
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_OnTick" Interval="300000" />
</form>
</body>
</html>
ПРИМЕЧАНИЕ. У некоторых читателей могут возникнуть проблемы с отображением модального подтверждения каждые x минут. Я бы согласился, что это плохо для юзабилити, но я не в состоянии изменить дизайн.
ОБНОВЛЕНИЕ: Я все-таки решил не использовать таймер. См. этот пост для получения подробной информации об альтернативном решении.