まさるblog

越後在住子持ちプログラマー奮闘記 - Author:まさる(高野 将、TAKANO Sho)

目次

Blog 利用状況

ニュース

著書

2010/7発売


Web掲載記事

@IT

.NET開発を始めるVB6プログラマーが知るべき9のこと

CodeZine

実例で学ぶASP.NET Webフォーム業務アプリケーション開発のポイント

第1回 3層データバインドを正しく活用しよう(前編)

ブログパーツ


書庫

日記カテゴリ

コミュニティ

Server.Transferを使用すべきケースって?

ASP.NETで画面遷移する際、

  • Response.Redirect
  • Server.Transfer

の2つがあるじゃないですか。

 

んで、この2つの動作上の違いは

  • Response.Redirect
    クライアントにリダイレクトさせるので、ラウンドトリップが2回。
    アドレスバーのURLが変わる。
    他サイトへも遷移可能。
  • Server.Transfer
    クライアントに返す内容を、遷移先ページの内容に書き換えるだけなのでラウンドトリップ1回。
    アドレスバーのURLが変わらない。
    同一サイトのaspxにだけ遷移可能。

っていうところまでは理解しています。

 

以上を踏まえたうえで、Server.Transferを用いるべきケースというのが、いまいち思い浮かびません。

「 Response.Redirectでいいじゃん」と思ってしまうんですが、「こんな時はServer.Transferじゃないとだめだ!」とかあるんですかね。

 

教えて、エライ人!

投稿日時 : 2009年8月23日 16:38

Feedback

# re: Server.Transferを使用すべきケースって? 2009/08/23 18:51 なちゃ

・リロードで再試行できる遷移にしたい場合
 例えば何らかのシステムエラーページの表示
 ブラウザの再試行でそのまま再試行できる

・セッションを使わずにデータを引き渡したい場合で
 URLが変わらなくても問題ない場合
 もしくはURLを変えない方が都合がいい場合

とかとか。
もっとも使い分けは簡単とは言えないので、現実にはエラーページなど特殊な遷移以外はリダイレクトで統一することが多い気はする。

# re: Server.Transferを使用すべきケースって? 2009/08/24 6:04 ナオキ

>・リロードで再試行できる遷移にしたい場合
> 例えば何らかのシステムエラーページの表示
> ブラウザの再試行でそのまま再試行できる

私的にはこれが一番かと。

# re: Server.Transferを使用すべきケースって? 2009/08/24 17:50 中博俊

ただ基本はASP互換のためw

# re: Server.Transferを使用すべきケースって? 2009/08/24 19:04 おぎわら

ASP.NETのレベルが40になったら
もっと使い道がややこしいものをぜひwww

つ【クロスページポストバック】


タイトル  
名前  
Url
コメント