- - PR -
ASP.NET での Server.Transferについて
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-10-09 21:16
はじめまして、全くの初心者です。
恥ずかしい質問かもしれないのですが、どの資料をみてもわかりません 何方か教えてください。 Server.Transferを使ってページ遷移を行う場合、 同一のフォルダであれば可能なのですが、 他のフォルダへ遷移しようとすると、「---子要求のパスが無効です。 仮想パスが必要です。」となってしまいます。 意味がわかりません。 ちなみに同じ構文をResponse.Redirectで書くと目的のぺーじへは いけるのですが。 私は何を勉強したらいいのでしょうか、それすらわかりません。 どうかどなたかヒントを下さい。 よろしく |
|
投稿日時: 2003-10-10 09:23
フォルダが違う、ということですが
1)Webアプリケーションとして別のもの 2)同一Webアプリケーション内でフォルダ分けしている のどちらでしょうか。 1の場合、Server.Transferでの遷移は無理だったと思います。 2の場合は遷移先へのパスの記述の仕方が間違っていると思われます。 |
|
投稿日時: 2003-10-11 11:46
有難う御座いました。
多分1)のWebアプリケーションとして別のもの だと思います。ですが「同一Webアプリケーション内」 でフォルダを分ける方法がわかりません。 以下の様にやってみたのですが結果は同じでした ・VisualStudio.NET2003を使用し、VBで記述しています。 ・"http://file-server/testroot/AppliA/"にWebForm1.aspxを作ります。 ・"http://file-server/testroot/AppliA/"の下にソリューションエクスプローラ でNewFolder1を追加し、そこにWebform2を作りました。 ・ここにボタンを配置し、 Server.Transfer("http://file-server/testroot/AppliA/WebForm1.aspx") を記述して実行したのですがうまくいきません。 何処が悪いのでしょうか? |
|
投稿日時: 2003-10-14 11:04
この場合
Server.Transfer("http://file-server/testroot/AppliA/WebForm1.aspx") ではなく Server.Transfer("../WebForm1.aspx") でいけるのではないでしょうか。 絶対パスでなく、相対パスで指定しろということですね。 Response.Redirectはクライアントがリクエストしなおすのに対して Server.Transferはサーバーが直接遷移先のレスポンスを返します。 ブラウザのアドレス欄に遷移もとのアドレスが表示されるのは そのためです。@IT内にも記事が載っています http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet16/aspnet16_01.html |
|
投稿日時: 2003-10-16 14:40
お蔭様で、かなり進歩しました。
有難う御座いました。 |
1
