- PR -

ユーザーコントロール内のでPOST後のデータ初期化

1
投稿者投稿内容
未記入
会議室デビュー日: 2007/07/11
投稿数: 6
投稿日時: 2007-08-30 01:19
お世話になっております。

下記の環境でWebサイト(ASP.NET)を作成しております。
1.メインページ(main.aspx)
2.フッターユーザーコントロール(footer.ascx)
3.遷移先ページ(next.aspx)

main.aspxにfooter.ascx(UC1と定義)を配置しております。
このfooter.ascxコントロール内に、textarea、radiobuttonを設置し、ユーザにより入力後、サブミットボタンを押すことで、そのデータを同じウィンドウ内で別のページ(next.aspx)へ遷移させることが目的です。

質問は、ユーザが入力したデータをnext.aspxで取得する方法として、下記を使用しているのですが、next.aspxへ遷移後、ブラウザの「戻る」ボタンを押し、main.aspxを表示すると、入力したデータがそのまま残ってしまいます。
このデータをPOST後も初期化(クリア)したい場合はどうしたらいいでしょうか?

[main.aspx]
<input type="textarea" name="なまえ" >

[next.aspx]
Request.form["なまえ"]
未記入
会議室デビュー日: 2007/07/11
投稿数: 6
投稿日時: 2007-08-30 01:22
すみません、先ほど投稿しましたが、修正点がありました。

[footer.ascx] ←main.aspxとしておりましたが、ユーザーコントロール上です。
<input type="textarea" name="なまえ" >

[next.aspx]
Request.form["なまえ"]
まるく
大ベテラン
会議室デビュー日: 2004/01/09
投稿数: 181
投稿日時: 2007-08-30 10:34
location.replace

---

ブラウザの「戻る」機能は、クライアントキャッシュを復元するだけだから無理(「戻る」を無効化する方法として上記記載)。

#コメントを追加


[ メッセージ編集済み 編集者: まるく 編集日時 2007-08-30 10:38 ]
未記入
会議室デビュー日: 2007/07/11
投稿数: 6
投稿日時: 2007-09-01 14:32
まるく様、ありがとうございます。

では、footer.ascx上のボタン押下後、同じウィンドウ内での遷移ではなく、新しいウィンドウを開きnext.aspxを表示するとします。

そのボタンを押した直後、footer.ascxのTextArea、RadioButtonを初期化することは可能ですか?

何度もお手数ですが、よろしくお願いいたします。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-09-01 22:25
引用:
質問は、ユーザが入力したデータをnext.aspxで取得する方法として、下記を使用しているのですが、next.aspxへ遷移後、ブラウザの「戻る」ボタンを押し、main.aspxを表示すると、入力したデータがそのまま残ってしまいます。
このデータをPOST後も初期化(クリア)したい場合はどうしたらいいでしょうか?

話が戻っちゃうかもしれませんが、main.aspxのキャッシュを無効にするのはどうですか?

新しいウィンドウの方は、footer.ascxがある方のwindowをいじくるjavascriptを書くか
footer.ascxがある方をsubmitさせると同時に新しいwindowをjavascriptで開くかですかね。
未記入
会議室デビュー日: 2007/07/11
投稿数: 6
投稿日時: 2007-09-02 19:29
べる様、ありがとうございます。

main.aspxのキャッシュ無効を追加してみます。(すみません、今ソースが手元にありませんので確認でき次第、ご連絡します。)

また、新しいウィンドウのほうですが、footer.ascxのほうからJavascriptを使用して新規ウィンドウを開いています。
新規ウィンドウを開く場合でも、キャッシュの無効で、TextArea, RadioButonの初期化を行うことはできるでしょうか?

聞いてばかりですみませんが、よろしくお願いいたします。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-09-03 00:57
引用:
また、新しいウィンドウのほうですが、footer.ascxのほうからJavascriptを使用して新規ウィンドウを開いています。
新規ウィンドウを開く場合でも、キャッシュの無効で、TextArea, RadioButonの初期化を行うことはできるでしょうか?

新規windowをopenしたタイミングで、新規じゃない方のwindowを初期化ですよね。
現状ではこのタイミングで新規じゃない方のwindowには何もおきないんですよね。
キャッシュを無効にするだけでは初期化されないです。
戻って(back)進めば(forward)ある意味「キャッシュ無効による初期化」ができますが
更新(reloadかな)でもした方ががてっとりばやいです。
1

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