powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как предупредить F5 (Refresh)
5 сообщений из 5, страница 1 из 1
как предупредить F5 (Refresh)
    #33911870
adone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здрасти. вот такая ситуация: пишу значит на AJAX-e. на ОДНОЙ странице происходит манипулирование с данными (много изменений). И если нажать F5, то страница обновляется и с сервака присылается новая страница.... и те данные, которые вносил пользователь, теряются... (а данных действительно много, так как происходит динамичный переход по страницам (мнимым страницам - так как всё на самом деле на одной странице)). ну так вот: можно ли как то понять и предупредить (запретить что ли, т.е. чтоб вывести сообщение типа: "юзверь!! ты уверен??? ведь всё потеряется!!!!") что страницу пытаются обновить (это на JavaScripte) либо же хотя бы понять, что страница была обновлена (это уже на серваке - C#)? Хотя... даже просто бы понять (обязательно на клиенте), что страницу обновляют, чтоб успеть отослать данные на сервак...
заранее спасибо.
...
Рейтинг: 0 / 0
как предупредить F5 (Refresh)
    #33911918
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="WebApplication5.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
	<HEAD>
		<title>WebForm1</title>
		<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
		<meta content="C#" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<script language="javascript" id="clientEventHandlersJS">
		<!--
		
		function form_refresh() {
		   if (event.keyCode ==  116 ) 
		   {
		     event.keyCode= 0 ;
		     alert('Sorry! You can not refresh this page!');
		     return false;
		   }
		}
		//-->
		</script>
	</HEAD>
	<body MS_POSITIONING="GridLayout" onkeydown="return form_refresh();">

		<form id="Form1" method="post" runat="server">
			<asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 120px; POSITION: absolute; TOP: 120px" runat="server"
				Text="Button" Width="136px" Height="24px"></asp:Button>
			<asp:TextBox id="TextBox1" style="Z-INDEX: 102; LEFT: 88px; POSITION: absolute; TOP: 64px" runat="server"
				Width="136px"></asp:TextBox></form>
	</body>
</HTML>
...
Рейтинг: 0 / 0
как предупредить F5 (Refresh)
    #33912087
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Relic Hunter:
А если пользователь нажмет обновить на панели инструментов???

Воспользуйтесь лучше это статьей:
http://www.microsoft.com/Rus/Msdn/publish/articles/AspCreating.mspx----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
как предупредить F5 (Refresh)
    #33912588
qwertyytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Adone, Вы писали:

A>здрасти. вот такая ситуация: пишу значит на AJAX-e. на ОДНОЙ странице происходит манипулирование с данными (много изменений). И если нажать F5, то страница обновляется и с сервака присылается новая страница.... и те данные, которые вносил пользователь, теряются... (а данных действительно много, так как происходит динамичный переход по страницам (мнимым страницам — так как всё на самом деле на одной странице)). ну так вот: можно ли как то понять и предупредить (запретить что ли, т.е. чтоб вывести сообщение типа: "юзверь!! ты уверен??? ведь всё потеряется!!!!") что страницу пытаются обновить (это на JavaScripte) либо же хотя бы понять, что страница была обновлена (это уже на серваке — C#)? Хотя... даже просто бы понять (обязательно на клиенте), что страницу обновляют, чтоб успеть отослать данные на сервак...
A>заранее спасибо.

A>
данное сообщение получено с www.gotdotnet.ru
A>ссылка на оригинальное сообщение


вешаешь свой обработчик на событие onunload или onbeforeunload.
делаешь там свои проверки надо ли выводить confirm или alert, или не надо.
и затем по необходимости отправляешь на сервер нужные данные:
если с помощью XMLHTTP, то сохраняешь эти данные где-нибудь временно на сервере, чтобы подхватить их при загрузке окна,
либо программно делать POST-запрос с этими данными (можно в виде XML если количество полей динамическое — для удобства), а на сервере забираешь их из Request.Form[].
и подставляешь эти данные в поля пользователя. и как будто ничего не изменилось.
может поможет, сам не пробывал :)
...
Рейтинг: 0 / 0
как предупредить F5 (Refresh)
    #33913425
adone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем спаибо. совмещение "onunload" на клиенте и проверки IsPageRefresh на серваке дало свои результаты. Данные не теряются даже при закрытии браузера!!!!!!!!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как предупредить F5 (Refresh)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]