プロが教えるわが家の防犯対策術!

こんにちは。
ASP.NET2.0を使っています
データベースを閲覧したり修正したりするページを作成しています。

閲覧画面AとBがあり、どちらのページからも修正画面Cに行くことができます。
画面A→画面C
画面B→画面C
ここで修正画面Cでデータを修正後、呼び出されたページに戻りたいのですが、呼び出されたページを取得する方法に困っています
修正後の画面に戻りたいので、javascriptのhistory.back()は使えませんし、Request.UrlReferrerは修正時にポストバックされるからか修正画面Cのアドレスを示してしまっています。

なにか方法はないものでしょうか?よろしくお願いします。

A 回答 (2件)

ページの遷移をどのように行っていますか?



ボタンのクリックイベントで Server.Transferで遷移しているならPreviousPageで取得できます

画面Cのメンバーに
dim myPreVious as Page
を追加

画面Cの Page_Lodeイベントで
if IsPostback = FALSE then
  if PreviousPage isnot nothing then
    Session("Previous") = PreviousPage
  end if
Else
  myPrevious = Seccion("Previous")
End if

画面Cの呼び出し元へ戻る場合
if myPrevious isnot Nothing then
  Session("Previous") = Nothing
  Response.Redirect( myPrevious.AppRelativeVirtualPath)
end if
といった具合いで ・・・

この回答への補足

お返事ありがとうございます。
>ボタンのクリックイベントで Server.Transferで遷移しているならPreviousPageで取得できます
残念ながら画面Cにはリンクでやってくるのです。
ですが、
>if IsPostback = FALSE then
つまりポストバックかどうかを見るということですね。
この方法でやってみます。

補足日時:2008/11/19 09:50
    • good
    • 1
この回答へのお礼

目的を達することができました。
アドレスの保存にはViewStateを使いました。
ありがとうございました。

お礼日時:2008/11/19 16:09

一度でもポストバックされたら「前のページ」は自分になっちゃいますね。


なら、最初に呼び出されたときにそのページの情報を隠しテキストボックスなりに保存しちゃうといいんじゃないかと。

この回答への補足

お返事ありがとうございます。
>一度でもポストバックされたら「前のページ」は自分になっちゃいますね。
どうやらそのようですね。

>なら、最初に呼び出されたときにそのページの情報を隠しテキストボックスなりに保存しちゃうといいんじゃないかと。

IsPostBackを見て処理を行うようにしてみます。

補足日時:2008/11/19 09:50
    • good
    • 0
この回答へのお礼

目的を達することができました。
アドレスの保存にはViewStateを使いました。
ありがとうございました。

お礼日時:2008/11/19 16:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A