3
詳細ビューとリストビューを持つWebフォームがあり、詳細ビューのフィールドにデータが入力され、 「保存」ボタンを押すと、すべてのことが現時点では問題ありません。asp.net issueはポストバック後にF5で処理するので、
ただし、この操作後にF5を押すと、ポストバックが繰り返されるため、新しいレコードがDBに挿入されます。
これを避ける方法を知っている人はいますか?
詳細ビューとリストビューを持つWebフォームがあり、詳細ビューのフィールドにデータが入力され、 「保存」ボタンを押すと、すべてのことが現時点では問題ありません。asp.net issueはポストバック後にF5で処理するので、
ただし、この操作後にF5を押すと、ポストバックが繰り返されるため、新しいレコードがDBに挿入されます。
これを避ける方法を知っている人はいますか?
これは、その操作にPOSTリクエストを使用するすべてのWebページで同じです。
保存ボタンイベント後にResponse.Redirect("yourpage.aspx")
を使用してこれを停止できます。これにより、ポストデータなしで新しいバージョンのページに送信されます。
フォームを作成するもう1つの方法は、生成されたGUIDなどのある種の自動性トークンを含めることです。保存要求を処理する前に、そのGUIDを使用する要求が以前に発行されていないことを確認することができます。
次のURLで、非常にシンプルで洗練されたソリューションが見つかりました。http://prashantprof.blogspot.com/2008/02/handling-page-refresh-f5-in-aspnet-post.html – Jagd