2009-06-03 17 views
2

ちょっと再び私は(VBScriptのでは)古いASPからWebサイトを移行することだし、新しいコンテナの内部で作業を古いものを維持するようにiFrameに私が持っている特定のstuufがあります- トラブル

をstackoverflowers 。

aspxのページrunat = "server"属性のiFrameを使用してコードビハインドファイルで利用できるようにしました。

<iframe id="frmLoader" runat="server" scrolling="auto" width="100%" height="600px"></iframe> 

今問題、特定の機能を得るために私はそれが違ったので、レンダリングPOSTへの応答を提供するために(旧サイトからの)ページに投稿する必要があります。

次のコードは、ここで痛みは私がインラインフレームに文字列を描画するように見えることができないということです

byte[] encData = new ASCIIEncoding().GetBytes(postData); 

req.Method = "POST"; 
req.ContentType = "application/x-www-form-urlencoded"; 
req.ContentLength = encData.Length; 

Stream dataStream = req.GetRequestStream(); 
dataStream.Write(encData, 0, encData.Length); 
dataStream.Flush(); 
dataStream.Close(); 

WebResponse res = req.GetResponse(); 
StreamReader sr = new StreamReader(res.GetResponseStream()); 
string s = sr.ReadToEnd(); 
frmLoader.InnerHtml = s; 

POSTDATAオブジェクトにコースのパラメータのとPage_Loadの中に存在します。 デバッグを使用して何かが表示されるかどうかを確認しましたが、そうはずですが、それはありません:p

誰もがiframeに解析された文字列をどのように知っていますか?

さらに、iframeの機能をトリガーすると、元のサイト(古いASP)からの追加の投稿に応答して、ページはそこにとどまるはずです。 私は探していましたが、回答は見つかりませんでした。


ハンドラを作成すると、使用したい古いページごとにカスタムハンドラを作成する必要がありますか?

以前の開発者は、レンダリング、1ページに、私は、これらの機能により呼び出すことができますポストメッセージを使って機能の多くを置く古いASPでの綿密なWebプログラミング:)

の中に経験した私はありません

毎回異なるページ。

ハンドラは、あなたが言ったように、ポストを変更するパラメータの束を受け入れるように構築できますか?

編集:

ここで別の問題が気付きました。ハンドラはデータが存在するセッションへのアクセス権を持たず、必要な投稿を作成します。アクションごとに異なる投稿があります...

答えて

4

手作業で試しましたか?次のことを試してみてください。

<iframe>text</iframe> 

その表示がブラウザでどのように?

iframeがそのように機能しないためです。 imgタグと同様に、コンテンツにどこから来るのかを示す "src"属性が必要です。

.ashxファイル(HttpHandler)を作成し、POSTを実行して結果を返すことができる場合があります。 iframeは<iframe src="yourHandler.ashx"/>になります。

+0

あなたは簡単に使いやすいと思われるでしょうか? –

+0

古典的なiframeの間違い+1 - iframeの内容はまったく別の要求です。iframeのリクエストが – annakata

+0

になることを決める以外には、このリクエストでは何もできません。最後のコメント) –