私は iPhone、Android、Blackberry の Web プログラミングに夢中です。ページの更新を停止する必要がある (ブログによると、これは不可能です) か、送信するのではなくページを更新する必要があるという問題に遭遇しました。
ASP.Net サーバー コントロールではなく基本的な HTML コントロールを使用したため、Page.IsPostBack を使用してページの更新とポストバックを区別することはできません。
私が試した代替案:
問題の根本は、読み取り専用でポストバックでのみ更新される Request.Form コレクションを使用したことです。そのため、ページを更新すると、Request.Form コレクションには以前の値が含まれているため、以前の要求に従って送信されます。
このリンクにあるように、Cookie を使用してみました: http://hi.baidu.com/cxyking/blog/item/508872346135283c5ab5f53c.html
すでにロードされた後にのみ、ページの更新を検出できます。私の要件は、元のページがアンロードされる前にページの更新を検出する必要があるということです。
OnBeforeUnload を使用して警告メッセージを表示しようとしました。ただし、これはデスクトップ ブラウザーでのみ機能し、iOS はこのイベントに対して何もしないようです。
次のいずれかを行う方法について何か考えはありますか:
- ページの更新を完全に停止します。
- ページを離れないユーザーに警告メッセージを表示する (iOS では OnBeforeUnload が機能しない)
- どういうわけか、Request.Form コレクションを更新します (Set はありますが、読み取り専用であるため、機能しないことに注意してください)。