Остановить отображение ASP.NET PostBacks как отдельных страниц? - PullRequest
1 голос
/ 10 января 2012

У меня есть форма ASP.NET, в которую пользователь может вносить множество изменений, каждый раз, когда они вносят изменения на страницу PostsBack, и детали обновляются.

Если пользователь нажимает кнопку возврата браузера, онВернитесь назад ко всем предыдущим версиям страницы.

Можно ли остановить просмотр каждого PostBack браузером как новую страницу?

Таким образом, будут внесены любые изменения, которые им понравятся, и еслиони нажимают кнопку «назад», она возвращает их к предыдущей форме, а не к той же самой форме, а к другой версии?

Я знаю, что могу использовать AJAX для обновления значений, но я не продвинутый программист, поэтому стараюсь сохранить вещипросто, как я раньше не использовал AJAX.

Ответы [ 3 ]

3 голосов
/ 10 января 2012

Ajax - ваше единственное решение.

Нет способа удалить страницу из истории браузера. Javascript явно лишен возможности.

Теперь вы можете вообще не использовать кнопку «назад». Хотя это может привести к несчастным пользователям, и я не уверен на 100%, что это работает во всех браузерах.

function body_onload(){
    window.history.forward(1);
} 
0 голосов
/ 10 января 2012

Вы можете использовать трюк, чтобы сделать это.

При обратной передаче вы можете установить бит сеанса в true, говоря, что они отправили эту форму. При обратной проверке проверьте, установлено ли это значение. Если это так, они пытаются сделать это снова, и вы можете просто прервать это. Это не помешает обратной передаче как таковой, но вы можете контролировать логику и помешать ей ДЕЛАТЬ.

Лично я бы изучил ajax, поскольку Jquery предоставляет несколько хороших способов сделать это, и это был бы опыт обучения, но я полагаю, это сработает, как вы просите. На основе сеанса. Если вы хотите только 1 отправку, используйте базу данных для хранения активности.

0 голосов
/ 10 января 2012

Вы можете использовать UpdatePanel: http://msdn.microsoft.com/en-us/library/bb386454.aspx

...