- PR -

戻るや進むボタンへの対応

1
投稿者投稿内容
tabou
常連さん
会議室デビュー日: 2002/07/15
投稿数: 39
投稿日時: 2003-01-20 09:24
今日は
C#でデータベースへの登録、更新、削除が出来るWebアプリを作成して
いて疑問が出てきました。

クライアント側で入力を行った後PostBackを行うようなフォームが有った場合
これらのフォームが全て履歴として残ります。
クライアントで戻すボタンや進むボタンをクリックすると以前のフォームが
クライアント側で表示されます。
例えば削除を行った後、戻るボタンで削除前に戻るとデータベース上では
既に削除されているデータがクライアント側に表示されますので、一見更新が出来る
ようになっており、更新を掛けるとサーバー側でエラーとなります。

1.クライアント側で履歴が残さないように出来るのか
2.戻るボタンを無効にするような処理が出来るのか
3.サーバー側のデータ処理で対処すべきなのか
4.PostBackの度に前フォームが残るのも気に入らない

Webアプリの作成は今まで無かったので気にしていなかったので
どのように処理すれば良いのかわかりません、アドバイスをお願いします。



ごん
会議室デビュー日: 2002/11/26
投稿数: 1
投稿日時: 2003-01-20 12:30
はじめまして、

私も同じ疑問を持っています。興味津々。。。

C#のみではなく、Perl等でも同じだと思いますので、
どなたかアドバイスをお願いします。
rucio
ベテラン
会議室デビュー日: 2002/11/27
投稿数: 98
投稿日時: 2003-01-20 13:25
こんにちは。
以下のページ(日本語)のSerge氏の質問とそれに対する回答が参考になると思います。

http://www.microsoft.com/japan/msdn/columns/webteam/webteam01012001.asp#back

このページに書いてあることを要約すると質問の回答は以下のようになります。
ただし、私は実際に試したりしていません。

>1.クライアント側で履歴が残さないように出来るのか
location.replaceを使えばできるようです。

>2.戻るボタンを無効にするような処理が出来るのか
できないようです。

>3.サーバー側のデータ処理で対処すべきなのか
それは有効な対策のひとつです。

>4.PostBackの度に前フォームが残るのも気に入らない
HTMLの仕様らしいです。

また、上記ページで示されている以下のページ(英語)も参考になりそうです。
http://support.microsoft.com/default.aspx?scid=KB;en-us;q234067

tabou
常連さん
会議室デビュー日: 2002/07/15
投稿数: 39
投稿日時: 2003-01-20 16:46
rucioさん丁重なコメント有難うございます。

ご紹介いただいたページの内容を十分理解できていないのですが
「セッション cookie の機能を使用する」方法でテストしてみたいと
思います。

基本的には

>>3.サーバー側のデータ処理で対処すべきなのか
>それは有効な対策のひとつです。

サーバー側で対応することを検討してみます。
1

スキルアップ/キャリアアップ(JOB@IT)