- PR -

ASP.NETでのフォワード処理について

1
投稿者投稿内容
はね
会議室デビュー日: 2003/03/20
投稿数: 11
投稿日時: 2006-03-03 11:18
こんにちは、はねです。

やりたい事は、ASP.NETのページからASP3.0のページ(ファイルは同じディレクトリにあります)へのフォワード処理をしたいのですが、Server.Transferを使うとSystem.Web.HttpExceptionが発生しました。

調べてみるとMSDNの解説に次のようにありました。
「転送先のページは別の .aspx ページにしてください。たとえば、.asp ページや .asmx ページへの転送は有効ではありません。」

別の方法がないか調べてみたのですが、見つけることが出来ませんでした。
Response.Redirectを使えば遷移自体は実現できる事は確認したのですが、出来ればブラウザに表示されるURLを変更させたくないため、フォワードでの実現方法を探しています。良い方法をご存知の方がいらっしゃいましたらご教授いただきたいと思います。

よろしくお願いします。



[ メッセージ編集済み 編集者: はね 編集日時 2006-03-03 11:19 ]
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-03-03 11:51
ブラウザにaspへの要求を出し直させる(Redirectとか)のではなく、aspxの要求に対するレスポンスでaspの結果を返したいということですよね。
aspxでaspへ要求を出して、それをaspx自身のレスポンスとして返したらどうでしょうか。WebClientクラスとか使って。

良い方法かどうかは分かりませんけど。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2006-03-03 12:14
フレームをRespose.Writeするとか。

コード:
<frameset cols="100%">
  <frame src="ASP3の頁">
</frameset>

はね
会議室デビュー日: 2003/03/20
投稿数: 11
投稿日時: 2006-03-03 12:34
一郎さん、todoさん早速の返信ありがとうございます。m(__)m

To 一郎さん

そっか、その手がありましたね。
試してみたところうまくいきました。
でも、同じディレクトリにいるファイルにフォワードするだけなのにえらく大仰な事をやってるような気が...。


To todoさん

こちらも見た目上は実現できました。


ASP.NET→ASP3.0はともかく、ASP.NETからただのHTMLへフォワードしたいケースはまれではないと思うのですが、もっとシンプルな方法は提供されていないんですかねぇ??
Javaをやっていたころは結果ページとしてhtmlへフォワードするケースも時々あって、確か次のような一行でフォワード出来ていたように記憶しているので、この手軽さがほしいなぁと。

getServletContext().getRequestDispatcher("/XXX/xxx.htm").forward(request, response);

ユーティリティークラスでも実装しろという事ですかね。


[ メッセージ編集済み 編集者: はね 編集日時 2006-03-03 12:41 ]
1

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