• ベストアンサー

登録後、呼び出し元ページに戻るには

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

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ページの遷移をどのように行っていますか? ボタンのクリックイベントで 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 といった具合いで ・・・

titokani
質問者

お礼

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

titokani
質問者

補足

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

その他の回答 (1)

回答No.2

一度でもポストバックされたら「前のページ」は自分になっちゃいますね。 なら、最初に呼び出されたときにそのページの情報を隠しテキストボックスなりに保存しちゃうといいんじゃないかと。

titokani
質問者

お礼

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

titokani
質問者

補足

お返事ありがとうございます。 >一度でもポストバックされたら「前のページ」は自分になっちゃいますね。 どうやらそのようですね。 >なら、最初に呼び出されたときにそのページの情報を隠しテキストボックスなりに保存しちゃうといいんじゃないかと。 IsPostBackを見て処理を行うようにしてみます。

関連するQ&A

専門家に質問してみよう